我在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));
答案 0 :(得分:1)
那边有点不对劲。cerficate已成功创建并添加到LDAP。我的要求是我有每个用户的ecrypted数据,我需要保存到用户证书字段。
userCertificate
属性用于X.509证书。在其中放入任何其他内容都会导致LDAP模式违规。
如何将此数据添加到用户证书?
你不能。