Java 为什么没有在我的计算机中安装.pfx文件? 我测试生成以下链接的csr文件

Java 为什么没有在我的计算机中安装.pfx文件? 我测试生成以下链接的csr文件,java,cryptography,pfx,csr,Java,Cryptography,Pfx,Csr,使用此java程序输出.key和.req文件 对于.req文件: BufferedOutputStream bos1=新的BufferedOutputStream( 新的FileOutputStream(txtRequest.getText()); bos1.write(csr.getBytes()) 对于.key文件: BufferedOutputStream bos2=新的BufferedOutputStream( 新的FileOutputStream(txtPrivateKey.getT

  • 使用此java程序输出.key和.req文件
对于.req文件:

BufferedOutputStream bos1=新的BufferedOutputStream( 新的FileOutputStream(txtRequest.getText()); bos1.write(csr.getBytes())

对于.key文件:

BufferedOutputStream bos2=新的BufferedOutputStream( 新的FileOutputStream(txtPrivateKey.getText());写入(getPrivateKey().getEncoded())

  • 使用其他C#应用程序生成.pfx
  • 我在我的计算机上安装了这个.pfx文件,出现了错误
发生内部错误。您正在导入的私钥可能需要一个未安装在您的系统上的加密服务提供程序。

我不知道如何修正这个错误。如果你知道,请给我解释一下


谢谢。

当您使用特定的加密服务提供商(csp)生成证书时(如果您尚未设置csp,则它将是操作系统的默认csp),并且如果您导入证书的计算机中缺少该csp(默认csp不同),则您将看到此行为

当我在xp机器中生成它并将其导入2008服务器时,我看到了这种行为。我发现这两个操作系统中的默认csp不同


我的解决方法是将其导入Server2003,然后将其导出,然后导入Server2008。在导入证书时,我假设server 2008比server 2003具有更严格的验证。

您所说的“I output.key和.req,然后I output.pfx”是什么意思?请编辑你的问题并提供更多细节。你试过这个吗:我已经像这样测试过了。但是错误仍然发生。。。发生内部错误。用户配置文件不可访问,或者您正在导入的私钥可能需要一个未安装在您的系统上的加密服务提供程序。您的操作系统是什么?我使用Windows 7 32位操作系统和Windows XP测试了此安装