gpt4 book ai didi

ssl - 链接具有相同主题的两个证书

转载 作者:行者123 更新时间:2023-12-04 22:39:17 24 4
gpt4 key购买 nike

我正在尝试生成特定的证书链以用作 Corda 节点的证书。
证书结构如下

cert_0 -> Subject: Node DN  (Legal identity cert)
cert_1 -> Subject: Node DN (Node CA cert)
cert_2 -> Subject: Doorman CA
cert_3 -> Subject: Network Root CA
我已经生成了所有证书,然后尝试分两步链接它们:
openssl pkcs12 -export -chain -CAfile nodedoormanrootca.pem -in identity-cert.pem  -inkey identity-key.pem  -out identity.p12 -name identity-private-key  -passout pass:changeit
第 1 步工作正常,结果我得到了包含所有 4 个证书的证书包。
下一步是使用 keytool 将其导出到 Java Keystore。
keytool -v -importkeystore -providerpath  bcprov-jdk15on-1.66.jar -provider org.bouncycastle.jce.provider.BouncyCastleProvider -srckeystore identity.p12 -srcstoretype PKCS12 -destkeystore nodekeystore.jks -deststorepass changeit -srcstorepass changeit -alias "identity-private-key"
(我使用 Bouncy CaSTLe 提供程序,因为 cert_0 使用 ed25519 key )
问题是在 keytool 导入后我只有 1 个条目 身份私钥 没有链条的其余部分。
原因是 cert_0 和 cert_1 具有相同的主题,并且 keytool 认为 cert_0 是自签名的,因此在仅在 keystore 中添加第一个证书后停止。
那么,关于如何以 JKS 格式创建此类证书链的任何想法,其中两个证书将具有相同的主题(当然具有不同的公钥)?
想到的是尝试基于 Corda 源创建一些小的 kotlin 程序,但是有没有更简单的解决方案?也许对 keytool 或 smth 进行一些破解

最佳答案

有一些重要方面需要注意,因为当前滚动您自己的证书在某些类型的 Corda 网络中不受支持。
如果您在自己的机器上使用引导网络执行此操作,我建议您不要这样做,因为您可以使用 Bootstrap 的 Corda 开发人员证书。
如果您正在为生产或使用自己的 PKI 执行此操作,您应该能够使用 CENM 执行此操作(链接:https://docs.corda.net/docs/cenm/1.3/pki-tool.html)
没有演示创建这些证书的示例项目。但是,如果您下载 Corda 源代码并查看 X509Utilities.kt(https://github.com/corda/corda/blob/master/node-api/src/main/kotlin/net/corda/nodeapi/internal/crypto/X509Utilities.kt) 和 CertificatesUtils.kt (https://github.com/corda/corda/blob/master/node/src/main/kotlin/net/corda/node/utilities/CertificatesUtils.kt),您会发现实际上是用于创建证书的工具包。
祝你好运 !

关于ssl - 链接具有相同主题的两个证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64062351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com