Export a certificate in asn.1 notation from X509Ce

2019-07-22 04:15发布

I'm currently learning working with certificates and now I'm curious, if it is possible to get the ASN.1 notation of a loaded certificate from a X509Certificate2-instance.

I have found the Export-Method and it works fine, however I have not seen a possibilty to change the encoding of the output format - it's only in the DER-format.

Is there a possibility to export/convert a loaded certificate as an ASCII ASN.1 certificate, something like in the example below:

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 1 (0x1)
        Signature Algorithm: md5WithRSAEncryption
        Issuer: C=XY....
 ...

Or is there a converter to convert DER to plain text?

2条回答
甜甜的少女心
2楼-- · 2019-07-22 04:45

I wrote a Gtk# tool (in C#) to do this a few years ago. The full source code is available from https://github.com/mono/mono-tools/tree/master/asn1view

You likely need only common/PrettyPrinter.cs and common/ASN1Decoder.cs unless you want pretty names for OIDs.

EDIT: The above is a bit lower-level than X.509 certificates - but it will work for X.509 CRL and other structures you know (or not) that can be embedded into the certificates/crl.

查看更多
【Aperson】
3楼-- · 2019-07-22 04:57

Depending on whether you need to do this within .Net, you may be interested in this answer (openssl asn1parse, using the DER file you've exported).

If you need to do this within .Net, you should be able to use BouncyCastle.

查看更多
登录 后发表回答