需要保护客户机与服务器之间的通信。我在.Net核心中找到一个.Net来生成X509证书(自签名)。但是,在.Net框架中如何使用证书吊销列表确实缺乏任何信息。如能回答这些问题,我们将不胜感激:
发布于 2018-09-09 06:02:52
如何使用.Net (没有BouncyCastle )创建CRL文件?
您不能,.NET自然不会发布任何API来处理X.509 CRL文件。你必须使用第三方图书馆。
是否可以将其创建为任何文本文件并随后进行签名?
不,这不是文本文件。
如果是,列的格式是什么?
X.509 CRL使用抽象语法表示法( ASN.1 )作为内部表示,ASN.1模块在RFC 5280附录A.1 (第118页)中定义。不幸的是,.NET没有提供处理原始ASN.1数据的工具(仅适用于知名和受支持的高级类型)。
如果您不能使用第三方库,您将不得不了解ASN.1 (不容易),编写您自己的二进制解析器,并根据ASN.1模块定义创建X.509 CRL解码器。下面是二进制ASN.1解析器的一个示例:Asn1Reader.cs,因此您可以想象编写自己的可靠解析器的复杂性。并以X.509 CRL译码器为例:X509CRL2.cs。我建议让一些已经起作用的东西使用它。
如何将证书添加到证书吊销列表中?
您必须使用ASN.1编码器创建X.509 CRL生成器/生成器。CRL条目类型的定义如下:
revokedCertificates SEQUENCE OF SEQUENCE {
userCertificate CertificateSerialNumber,
revocationDate Time,
crlEntryExtensions Extensions OPTIONAL
-- if present, version MUST be v2
} OPTIONAL,
如果您不熟悉ASN.1,但会发现一些有用的东西,这几乎没有任何意义。例如,CRL条目由证书序列号(整数)和吊销日期(UTCTime
或GeneralizedTime
)组成。可以选择地,可能有CRL条目扩展,如吊销原因(ENUMERATED
)。
https://stackoverflow.com/questions/52244300
复制相似问题