【问题标题】:Extracting public keys from windows keystore从 Windows 密钥库中提取公钥
【发布时间】:2014-04-28 09:55:36
【问题描述】:

我正在尝试使用私钥签署文件 使用 Windows 密钥库。我还希望附上签名数字签名的公钥(.cer x509)。 .cer 文件当前从 Windows 证书集合中手动导出并保存到 .cer 文件,但我希望在签名时生成 .cer。下面是代码:

KeyStore ks = KeyStore.getInstance("Windows-MY");
            String alias = "";            
            ks.load(null, null) ;
            alias = ks.aliases().nextElement(); // read the first element only
            Key key;
            key = ks.getKey(alias,null);
            Certificate certificate = ks.getCertificate(alias);
            RSAPublicKey pub = (RSAPublicKey) certificate.getPublicKey();

这里我如何将变量 pub 写入 .cer 文件中以包含在签名文件中以便在接收方进行验证。

【问题讨论】:

  • 您的问题是什么?有什么不符合您的预期,或者您遇到了什么错误?
  • 刚刚得到了解决方案:我正在将 pub 变量中的 RSAPublickKey 写入 .cer 文件,而我应该将证书写入文件,这对我有用并且它显示了有效的 .cer 文件。谢谢。

标签: java xml encryption x509certificate public-key-encryption


【解决方案1】:

刚刚得到了解决方案:我正在将 RSAPublickKey 从 pub 变量写入 .cer 文件,而我应该将证书写入文件,这对我有用并且它显示了有效的 .cer 文件。谢谢。

【讨论】: