0
我在LDAP中有一個用戶證書字段,它接受X509證書。 我已經在bouncy castle wiki上提供了用戶指南,創建了一個X509證書。將數據添加到X509證書
已成功創建證書並將其添加到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));
好的。謝謝回覆。我可以在創建用戶證書時使用這些數據嗎?我需要重新獲取數據並在稍後使用它。像生成證書時添加到一些自定義文件? apache studio中的證書瀏覽器顯示自定義字段,如X500名稱(ou,o,cn等) –
您可以在創建私鑰時提供'keytool'請求的任何數據。或者任何'openssl.exe'請求。一旦證書被創建,你就不能改變它。 – EJP