【问题标题】:Adding Data to X509 certificate将数据添加到 X509 证书
【发布时间】:2015-06-04 08:49:56
【问题描述】:

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

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

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

我使用以下代码创建了版本 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));

【问题讨论】:

    标签: java ssl ldap certificate


    【解决方案1】:

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

    那里出了点问题。 userCertificate 属性用于 X.509 证书。将其他任何内容放在那里都会违反 LDAP 架构。

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

    你不能。

    【讨论】:

    • 好的。谢谢回复。我可以在创建用户证书时为用户使用数据吗?我需要再次取回数据并稍后使用。喜欢在生成证书时添加一些自定义文件? apache studio 中的证书浏览器显示自定义字段,例如 X500 名称(ou、o、cn 等)
    • 您可以提供keytool 在创建私钥时要求的任何数据。或openssl.exe 要求的任何内容。证书一经创建,便无法更改。
    猜你喜欢
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2016-06-07
    • 2011-08-30
    相关资源
    最近更新 更多