【发布时间】:2016-06-29 23:31:09
【问题描述】:
首先:对不起我的英语不好。我希望你能理解我。
我使用的是 OpenSSL 1.0.2,但遇到了一些问题。我有一个带有三个证书的 STACK_OF(X509) 对象,我想将此堆栈转换为 ASN1 对象(如 OCTET STRING 或 ANY)。这可能吗?我使用外部 asn.1 库而不是 OpenSSL-ASN1。所以我需要数据为 unsigned char(原始二进制或 DER 编码)。
我可以通过 i2d_X509() 将单个证书转换为 DER 格式。这很好,但我想要完整的堆栈。这是我的目标:
myAsn1Data ::= sequence {
... -- (some ASN.1 data)
... -- (some ASN.1 data)
ANY -- contain the DER encoded STACK_OF(X509)....somehow
}
但这可能是正确的方式(ASN.1 语法):
stackOfX509 ::= SEQUENCE_Of {
TBSCertificate
}
或者像这样:
stackOfX509 ::= SET_OF {
ANY -- contain a DER encoded X509 certificate
}
我希望有人可以帮助我。
【问题讨论】: