Rad*_*adu 4 java ssl keystore java-ee wildfly-8
我正在尝试使用KeyStore从密钥库中获取信息.我使用此命令生成了密钥库:
keytool -genkey -alias server -keyalg RSA -keystore server.keystore -validity 365采取这个页面.
检查其信息keytool -list -v -keystore server.keystore我得到以下内容:
别名:server
创建日期:2014年4月30日
条目类型:PrivateKeyEntry
证书链长:1
证书[1] :(
其他信息在这里)
使用此命令:keytool -list -keystore server.keystore -alias server我得到这个:
服务器,2014年4月30日,PrivateKeyEntry,证书指纹(SHA1):28:65:5B:0C:B3:3C:C9:AA:F1:7C:CE:91:23:77:DD:0D:F8:54 :70:B9
现在,我的java代码:
keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
keyStore.load(getClass().getResourceAsStream(KEYSTORE_FILE_PATH), "myPass".toCharArray());
keyStore.getCertificate("server").getPublicKey().getEncoded(); //here I get a null pointer exception - keystore.getCertificate("server") returns null.
Run Code Online (Sandbox Code Playgroud)
执行keyStore.aliases()返回EmptyEnumeration.
该应用程序使用maven,java ee 7,我已经将密钥库文件复制到我的应用程序的resources文件夹中.KEYSTORE_FILE_PATH的值为"/server.keystore".
谢谢.
null当没有具有指定名称的资源时,Class.getResourceAsStream()返回.
KeyStore.load()在传递null输入流时将密钥库重置为空状态.
这意味着在运行时,您的代码找不到密钥库资源,并以静态方式继续使用空密钥库.
getResourceAsStream()在将值传递给它之前检查返回的非null值KeyStore.load().有一些 问题 有关 getResourceAsStream(),可以是对你的帮助.
| 归档时间: |
|
| 查看次数: |
4087 次 |
| 最近记录: |