繁体   English   中英

Java客户端如何自动接受来自服务器的自签名证书

[英]How does a Java client automatically accept a self-signed certificate from the server

我正在实现一个使用自签名证书的服务器。 将证书分发给客户的最佳方法是什么? 我可以将证书导入java密钥库并设置客户端。 但有没有办法避免每个客户端手动导入证书。 这可以由java客户端自动完成吗? 我浏览了JSSE参考,但无法弄清楚如何做到这一点。 非常感谢任何帮助。

此致,Sampath。

查看KeyStore类。 它允许您操作Java密钥库。

代码示例:

KeyStore ks = KeyStore.getInstance("JKS");  
ks.load(null, null);  // Creates a new keystore

BufferedInputStream bis = new BufferedInputStream(new FileInputStream("cert.cer"));  // Or read from URL
CertificateFactory cf = CertificateFactory.getInstance("X.509");  
Certificate cert = null;  

if (bis.available() > 0) {  
  cert = cf.generateCertificate( bis );  
  ks.setCertificateEntry( "SGCert", cert );  
}  

ks.setCertificateEntry("SGCert", cert);  
ks.store(new FileOutputStream("out.keystore"), "secret".toCharArray() ); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM