Java 加密中的空密钥库
我使用wss4j来签署消息请求。 但使用此代码对邮件签名时:Java 加密中的空密钥库,java,cryptography,keystore,wss4j,Java,Cryptography,Keystore,Wss4j,我使用wss4j来签署消息请求。 但使用此代码对邮件签名时: Document d = signer.build(unsignedDoc, crypto, header) 我总是犯错误 org.apache.ws.security.WSSecurityException: General security error (no certificates for user ... were found for signature) 寻找我发现的原因,en空的密钥存储似乎就是原因 这是我创建加密实
Document d = signer.build(unsignedDoc, crypto, header)
我总是犯错误
org.apache.ws.security.WSSecurityException: General security error (no certificates for user ... were found for signature)
寻找我发现的原因,en空的密钥存储似乎就是原因
这是我创建加密实例的方式:
private void createCrypto(){
// reading preferences (keystone-filename, password, etc.) from properties file
Properties prop = new Properties();
FileInputStream fis = new FileInputStream("myprops.properties");
props.load(fis);
// create a crypto instance
Crypto crypto = CryptoFactory.getInstance(props);
// This line always prints "Size:0"
System.out.println("Size:" + crypto.getKeyStore.getSize())
...
但是,如果按以下方式加载密钥库,它将显示size=1:
private void loadKeystore(){
KeyStore keystore;
try{
// reading and loading keystone file
InputStream is = new FileInputStream("myKeyStore.jks");
keystore.load(is, "password".toCharArray());
// Prints "Size:1"
System.out.println("Size:"+keystore.size());
...
所以我想知道,第一个例子有什么问题。为什么密钥库是空的?
我已经检查了属性:密钥库和密码设置正确!
但是如果我从属性文件中删除keystore属性,错误消息是相同的
有人能帮我吗?你能用
keytool
列出密钥库中的条目并分享结果吗?我不想发送整个结果,因为我不确定我可以在这里发布什么。但是我可以告诉你,这个密钥工具找到了一个PrivateKeyEntry类型的条目。“myprops.properties”是什么样子的?你能用keytool
列出密钥库中的条目并分享结果吗?我不想发送整个结果,因为我不确定我可以在这里发布什么。但是我可以告诉你,这个键工具找到了一个PrivateKeyEntry类型的条目。“myprops.properties”是什么样子的?