Roh*_*hit 17 java https digital-certificate keytool ssl-certificate
我正在尝试使用服务器的.cer证书文件建立https连接.我可以使用浏览器手动获取证书文件,并使用keytool将其放入密钥库.然后,我可以使用java代码访问密钥库,获取我添加到密钥库的证书并连接到服务器.
我现在想要实现获取证书文件并使用java代码将其添加到我的密钥库并且不使用keytool或浏览器来获取证书的过程.
有人可以告诉我如何处理这个以及我需要做什么?
San*_*dro 15
编辑:这似乎完全符合你的要求.
使用以下代码可以在运行时添加信任库.
import java.io.InputStream;
import java.security.KeyStore;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
public class SSLClasspathTrustStoreLoader {
public static void setTrustStore(String trustStore, String password) throws Exception {
TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance("X509");
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
InputStream keystoreStream = SSLClasspathTrustStoreLoader.class.getResourceAsStream(trustStore);
keystore.load(keystoreStream, password.toCharArray());
trustManagerFactory.init(keystore);
TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustManagers, null);
SSLContext.setDefault(sc);
}
}
Run Code Online (Sandbox Code Playgroud)
我使用此代码与活动目录服务器建立安全的LDAP连接.
这也可能是有用的,在底部有一个类,它可以在运行时导入证书.
| 归档时间: |
|
| 查看次数: |
23310 次 |
| 最近记录: |