问题
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?
回答1:
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.
回答2:
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.
来源:https://stackoverflow.com/questions/7929443/export-a-certificate-in-asn-1-notation-from-x509certificate2