Con*_*rad 1 java ssl junit cryptography x509certificate
我进行了子类化,javax.net.ssl.X509TrustManager
因此我可以使用私有SSL证书.现在我正在尝试为我的类编写一个JUnit测试,但测试用例一直给我一个空指针异常.
例如,我的实现checkClientTrusted()
是一个空方法.但是,当我使用(假设的)有效实例X509Certificate[]
(以及任何类型的String )调用该方法时,JUnit会报告NullException
该行的测试代码.关于我缺少什么的任何建议?
为了使用自签名证书而对"X509TrustManager"进行子类化(我假设你的'私有SSL证书'是什么意思?)有点矫枉过正.使用此类证书的更简单方法是:
将密钥库文件(信任库)与证书(或用于创建自签名证书的CA的证书)一起使用,并将应用程序指向该证书.您所要做的就是确保'SSLContext'了解您的信任库.有关详细信息,请查看(写得非常好)文章 Custom SSL for advanced JSSE developers.从技术上讲,这比使用全局JRE信任库更安全,因为只有您的证书才会被接受为有效.
使用"keytool"将证书(或用于创建自签名证书的CA的证书)添加到JRE的全局信任库.全局JRE信任库位于'$ JAVA_HOME/lib/security/cacerts'中.JRE信任库的密码始终是"changeit".虽然这种方式显然会使部署更加困难,但有时您无法控制JRE安装.
归档时间: |
|
查看次数: |
1448 次 |
最近记录: |