Мой вопрос прост, мы можем изменить сертификат ssl динамически? Предположим, у меня есть два самоподписанных сертификата, /2/keystore.jks и /3/keystore.jksМожем ли мы изменить сертификат SSL в весеннем контроллере MVC?
Мой вопрос: могу ли я использовать первый сертификат для одного URL-адреса и второго сертификата для другого.
До сих пор я попробовал другой код
import java.io.FileInputStream;
import java.security.KeyStore;
import java.security.cert.X509Certificate;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CertificateUtil {
public static X509Certificate readCertificateFile(String keystorefilePath, String clientKeystorePassword, String alias)
throws Exception {
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(new FileInputStream(keystorefilePath),
clientKeystorePassword.toCharArray());
KeyStore.PrivateKeyEntry keyEntry = (KeyStore.PrivateKeyEntry) ks.getEntry(alias,
new KeyStore.PasswordProtection(clientKeystorePassword.toCharArray()));
X509Certificate cert = (X509Certificate) keyEntry.getCertificate();
return cert;
}
public static void setCertificateInRequest(HttpServletRequest request, HttpServletResponse response) {
try {
X509Certificate x509Certificate = readCertificateFile(required args...);
request.setAttribute("javax.servlet.request.X509Certificate", javax.security.cert.X509Certificate.getInstance(x509Certificate.getEncoded()));
request.setAttribute("java.servlet.request.X509Certificate", x509Certificate);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Я попробовал другое решение ничего не работает до сих пор, если вы можете просто указать меня в правильном направлении, что будет очень хорошо.
PS я использовал эту команду, чтобы создать файл сертификата
keytool -genkey -keyalg RSA -alias aliasweb -keystore keystore.jks -storepass aliasweb -validity 360 -keysize 2048
Спасибо заранее.