Recuerda que en las ciencias informáticas cualquier problema suele tener diferentes soluciones, por lo tanto nosotros mostramos lo más óptimo y eficiente.
Solución:
- Si desea autenticarse necesita el privado key – No hay otra opción.
- Un certificado es público. key con propiedades adicionales (como nombre de la empresa, país,…) que está firmado por alguna autoridad de certificación que garantiza que las propiedades adjuntas son true.
.CER
los archivos son certificados y no tienen la privacidad key. Lo privado key está provisto de un.PFX keystore
archivo normalmente. Si realmente te autentificas es porque ya tenia importado el privado key.-
Normalmente puede importar
.CER
certificados sin ningún problema conkeytool -importcert -file certificate.cer -keystore keystore.jks -alias "Alias"
Importador .cer
archivo de certificado descargado del navegador (abra la url y busque detalles) en cacerts almacén de claves en java_homejrelibsecurity
funcionó para mí, a diferencia de los intentos de generar y usar mi propio almacén de claves.
- Ir a tu
java_homejrelibsecurity
- (ventanas) Abra la línea de comando de administración allí usando
cmd
y CONTROL+CAMBIO+INGRESAR - Ejecute keytool para importar el certificado:
- (Reemplazar
yourAliasName
ypathtocertificate.cer
respectivamente)
- (Reemplazar
....binkeytool -import -trustcacerts -keystore cacerts -storepass changeit -noprompt -alias yourAliasName -file pathtocertificate.cer
De esta manera, no tiene que especificar ninguna opción JVM adicional y el JRE debería reconocer el certificado.
Aquí está el código que he estado usando para importar archivos .cer programáticamente a un nuevo KeyStore.
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
//VERY IMPORTANT. SOME OF THESE EXIST IN MORE THAN ONE PACKAGE!
import java.security.GeneralSecurityException;
import java.security.KeyStore;
import java.security.cert.Certificate;
import java.security.cert.CertificateFactory;
//Put everything after here in your function.
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
trustStore.load(null);//Make an empty store
InputStream fis = /* insert your file path here */;
BufferedInputStream bis = new BufferedInputStream(fis);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
while (bis.available() > 0)
Certificate cert = cf.generateCertificate(bis);
trustStore.setCertificateEntry("fiddler"+bis.available(), cert);
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)