¿La caducidad del certificado https afectará las solicitudes de Java?
Solicitud en código java
Ejemplo: java InstalCert smtp.zhangsan.com: 465 admin
Si no agrega los parámetros de contraseña y número de puerto de host , el número de puerto predeterminado para obtener el certificado proporcionado en el programa anterior es: 443 y la contraseña es: changeit
3. Según el mensaje en ejecución, escriba 1 y presione Entrar para generar el certificado en el. directorio actual: 443. La contraseña es: changeit
3. Según el mensaje en ejecución, escriba 1 y presione Enter para generar un certificado llamado: jssecacerts en el directorio actual
Coloque el certificado en el directorio $JAVA_HOME/jre /lib/security, recuerde que el jre del JDK es el entorno utilizado en el proyecto.
O:
System.setProperty("javax.net.ssl.trustStore", "La ruta a su certificado jssecacerts");
Puede ejecutar el comando en el directorio seguro para cambiar la contraseña
keytool - storepasswd -new x storepasswd -new xxxcom -keystore cacerts
Después de la modificación, puede cambiar la contraseña y usar el comando
keytool -list -v -keystore cacerts
Ver la información del archivo El sistema le indicará que necesita una contraseña para verlo. Si la contraseña ingresada es consistente con la contraseña modificada. la modificación es exitosa.
PD: ahora puede usar SSL con éxito de esta manera. Además de agregar, también puede generar un archivo cer basado en el archivo jssecacerts que acaba de generar.
El comando es el siguiente. sigue
keytool -export -alias xxx.com-1 -keystore jssecacerts -rfc -file xxx.cer
Como arriba, el alias de nomenclatura predeterminado en la clase de herramienta anterior es agregar "-1". La contraseña establecida usando InstallCert debe ser la misma que la contraseña en el archivo cacerts.
Si se cambia la contraseña, se debe cambiar la cadena de contraseña correspondiente en la clase InstallCert; de lo contrario, se producirá la siguiente excepción:
java.security.UnrecoverableKeyException: Error en la verificación de contraseña
II ignorando problemas de confianza del certificado
Fuente: /blog/575671
Por favor tenga en cuenta que debe llamar al método descrito en el artículo antes de crear la conexión. Por ejemplo:
trustAllHttpsCertificates();
HostnameVerifier hv = new HostnameVerifier() {
verificación booleana pública (String urlHostName, sesión SSLSession) {
devuelve verdadero;
}
};
HttpsURLConnection.setDefaultHostnameVerifier(hv);
conexión = (HttpURLConnection) url .openConnection();
Bien, ambos métodos se han probado con éxito.