将数据添加到X509证书

时间:2015-06-04 08:49:57

标签: java ssl ldap certificate

我在LDAP中有一个用户证书字段,它接受X509证书。 我根据bouncy castle wiki提供的用户指南创建了X509证书。

cerficate已成功创建并添加到LDAP。我的要求是我有每个用户的ecrypted数据,我需要保存到用户证书字段。

如何将此数据添加到用户证书?

我使用以下代码创建了第1版用户证书。

Security.addProvider(new BouncyCastleProvider());

            KeyPairGenerator kpGen = KeyPairGenerator.getInstance("RSA", "BC");
            kpGen.initialize(1024, new SecureRandom());
            KeyPair pair = kpGen.generateKeyPair();

            X509v1CertificateBuilder certBldr = new JcaX509v1CertificateBuilder(
                    new X500Name("CN=User Certificate:"),
                    BigInteger.valueOf(1),
                    new Date(System.currentTimeMillis()),
                    new Date(System.currentTimeMillis() + (5*365*24*60*60*1000)),
                    new X500Name("CN=User Certificate:"),
                    pair.getPublic());
                    ContentSigner signer = new JcaContentSignerBuilder("SHA1withRSA")
                    .setProvider("BC").build(pair.getPrivate());

                cert= new JcaX509CertificateConverter().setProvider("BC")
                .getCertificate(certBldr.build(signer));

1 个答案:

答案 0 :(得分:1)

  

cerficate已成功创建并添加到LDAP。我的要求是我有每个用户的ecrypted数据,我需要保存到用户证书字段。

那边有点不对劲。 userCertificate属性用于X.509证书。在其中放入任何其他内容都会导致LDAP模式违规。

  

如何将此数据添加到用户证书?

你不能。