生成认证链

时间:2011-03-11 09:49:34

标签: java certificate keystore

我需要在我的java应用程序中生成认证链,因为在将privatekey存储到密钥库时需要它吗?任何人都可以帮助我。我不知道怎么做..

我需要生成RSA密钥对,然后将其存储到密钥库。现在我的代码看起来像这样:

public static void main(String[] args)
{
            String issuerDN = null;
            String addKeyName = "mynewkey";
    String delKeyName = null;
    String password = "2222";
    boolean listStore = true;
            boolean deleteKeysAftherWrap = false;

    try
    {
        /* make sure that we have access to the eracom provider */
        Provider p = new ERACOMProvider();
        Security.addProvider(p);

                    int keySize = 1024;
        KeyPair keyPair = null;

        /* get the eracom keystore - access to the adapter */
        KeyStore keyStore = KeyStore.getInstance("CRYPTOKI", p.getName());

        /* LOAD the keystore from the adapter */
        keyStore.load(null, password.toCharArray());

        if (addKeyName != null)
        {
            /* This key cannot be added to the keystore if it already exists */
            if (keyStore.containsAlias(addKeyName))
            {
                println("");
                println("Key name already exists");
                println("");
            }

            KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA", p.getName());

                            keyPairGenerator.initialize(keySize);

                            keyPair = keyPairGenerator.generateKeyPair();

                            PublicKey pubKey = keyPair.getPublic();
                            PrivateKey privKey = keyPair.getPrivate();

            keyStore.setKeyEntry("newpub", pubKey, null, null);
                            keyStore.setKeyEntry("newpriv", privKey, null, null});
        }

生成密钥但它要求认证链存储私钥。 这就是现在的问题。如何生成认证链,我是否必须先生成认证,何时生成认证?

2 个答案:

答案 0 :(得分:0)

不确定你想要实现什么,但前段时间我已经使用这个小应用程序(包括源代码)将现有的私钥插入密钥库。希望你会发现这很有用:http://www.agentbob.info/agentbob/79-AB.html

答案 1 :(得分:0)

我相信帖子http://www.pixelstech.net/article/1406726666-Generate-certificate-in-Java----2将向您展示如何使用纯Java生成证书链。它并不要求你使用Bouncy Castle。

本文将向您展示如何生成长度超过1的证书链。虽然Internet上的大多数帖子都会显示您创建长度为1或使用BC的证书链。