小编mar*_*jno的帖子

将证书链保存在pkcs12密钥库中

以下代码:

//used Bouncy Castle provider for keyStore
keyStore.setKeyEntry(alias, (Key)keyPair.getPrivate(), pwd, certChain);  
Run Code Online (Sandbox Code Playgroud)

certChain持有结束证书和颁发者证书(即两个证书)
的情况下,如果keyStore是一个实例,则不会将发行者证书保存为保存到文件系统密钥库文件中的链的一部分PKCS12.

如果密钥库类型是,它确实保存两个证书PKCS12-3DES-3DES.为什么是这样?PKCS12是否假设两个证书都是链的一部分?

编辑:这是一个SSCCE.这很好用"JKS",失败的原因是"PKCS12":只有链中的第一个证书可以访问getCertificateChain(String).可以打开保存的文件,同时openssl pkcs12显示两个证书.

    public void testKeyStore() {
    try {
        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
        keyPairGenerator.initialize(1024);
        KeyPair keyPair = keyPairGenerator.generateKeyPair();
        PublicKey publicKey = keyPair.getPublic();
        PrivateKey privateKey = keyPair.getPrivate();
        Certificate[] outChain = { createCertificate("CN=CA", publicKey, privateKey), createCertificate("CN=Client", publicKey, privateKey) };

        KeyStore outStore = KeyStore.getInstance("PKCS12");
        outStore.load(null, "secret".toCharArray());
        outStore.setKeyEntry("mykey", privateKey, "secret".toCharArray(), outChain);            
        OutputStream outputStream = new FileOutputStream("c:/outstore.pkcs12");
        outStore.store(outputStream, …
Run Code Online (Sandbox Code Playgroud)

java security ssl bouncycastle digital-certificate

23
推荐指数
2
解决办法
2万
查看次数

android上的java的类维度

java.awt.Dimensionandroid 的等效形式是什么?

java android dimensions

7
推荐指数
2
解决办法
5759
查看次数

生成Java卡中两个数字之间的随机数

如何在Java Card中生成两个数字之间的随机数?例如,应在0到50之间生成数字。

random javacard

2
推荐指数
1
解决办法
2634
查看次数