我需要在服务器上签名来自受信任客户端的CSR,并附带我拥有的证书及其私钥。
在命令行中,我会做类似的事情
openssl x509 -req -in ClientCSR.csr -CA MyCert.crt -CAkey MyPrivateKey.key -out ClientCert.crt -days 365 -sha256 -set_serial 5
我正在努力从erlang做到这一点。
由public_key:pem_entry_decode
解析,CSR给了我'CertificationRequest'
记录,我真的不知道该如何进一步使用。
阅读public_key.erl
文档,我想我应该使用public_key:pkix_sign
,但这需要'OTPTBSCertificate'记录作为输入(以及我确实拥有的私钥)。
我可以采取什么措施将我的'CertificationRequest'
转换为'OTPTBSCertificate'
吗?还是那不是要走的路?谢谢!
作为参考,如果有人读了这个问题,我最终找到了可以做我想做的要点https://gist.github.com/emtenet/b48f948102d9a4904a78
基本上,我手动提取所需的片段(主题和私钥),创建一个TBSCertificate
,对其进行签名,并由此创建一个x509证书