Skip to content

Latest commit

 

History

History
80 lines (68 loc) · 3.13 KB

x509-deserialize.md

File metadata and controls

80 lines (68 loc) · 3.13 KB
/*
 * Neuroxiq 2022
 * Arctium Project / Code example
 *
 * 
 */


using Arctium.Cryptography.Utils;
using Arctium.Standards.FileFormat.PEM;
using Arctium.Standards.X509.X509Cert;

namespace ConsoleAppTest
{
    internal class MainProgram
    {
        static void Main()
        {
            X509CertificateDeserializer x509deserialize = new X509CertificateDeserializer();

            PemFile pem = PemFile.FromString(X509Certificate_resa_2048_sha256_1);

            X509Certificate cert = x509deserialize.FromPem(pem);

            Console.WriteLine("{0}: {1}", nameof(cert.Version), cert.Version);
            Console.WriteLine("{0}: {1}", nameof(cert.Extensions), cert.Extensions.Length);
            Console.WriteLine("{0}: {1}", nameof(cert.Subject), cert.Subject.ToString());
            Console.WriteLine("{0}: {1}", nameof(cert.ValidNotAfter), cert.ValidNotAfter);
            Console.WriteLine("{0}: {1}", nameof(cert.ValidNotBefore), cert.ValidNotBefore);
            Console.WriteLine("{0}: {1}", nameof(cert.SubjectPublicKeyInfo.AlgorithmIdentifier), cert.SubjectPublicKeyInfo.AlgorithmIdentifier.ToString());
            Console.WriteLine("{0}: {1}", nameof(cert.Issuer), cert.Issuer.ToString());


        }

        /* [output]
         * 
         * Version: 2
         * Extensions: 5
         * Subject: CN=www.arcitum-testcert-ecc.com, C=PL, SP=Lesser Poland, L=Krakow
         * ValidNotAfter: 10/21/2025 12:01:43 PM
         * ValidNotBefore: 10/22/2022 12:01:43 PM
         * AlgorithmIdentifier: Arctium.Standards.X509.X509Cert.Algorithms.PublicKeyAlgorithmIdentifier
         * Issuer: CN=www.arcitum-testcert-ecc.com, C=PL, SP=Lesser Poland, L=Krakow
         */

        static readonly string X509Certificate_resa_2048_sha256_1 =
        @"
-----BEGIN CERTIFICATE-----
MIID4jCCAsqgAwIBAgIUYYet3/tggZHo5LuPTsOWeDt8M3owDQYJKoZIhvcNAQEL
BQAwXTElMCMGA1UEAwwcd3d3LmFyY2l0dW0tdGVzdGNlcnQtZWNjLmNvbTELMAkG
A1UEBhMCUEwxFjAUBgNVBAgMDUxlc3NlciBQb2xhbmQxDzANBgNVBAcMBktyYWtv
dzAeFw0yMjEwMjIxMDAxNDNaFw0yNTEwMjExMDAxNDNaMF0xJTAjBgNVBAMMHHd3
dy5hcmNpdHVtLXRlc3RjZXJ0LWVjYy5jb20xCzAJBgNVBAYTAlBMMRYwFAYDVQQI
DA1MZXNzZXIgUG9sYW5kMQ8wDQYDVQQHDAZLcmFrb3cwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQDeiu3ulQ8sOPis+BREJ+3zWdUFq/RJheNZXKWBRzN+
S19Nr2E9iinG/jNG1/6Cm1VmMrYH7rPEj/D71qWygZ+qbF0HSZuogfPvwuB+2y6s
sd4HzhNDHb6UXuqe0q/JYMNU9YppXFajWBKbCplDFxne/dcAqMl9P1ILB7otQYcx
gVnlfCeME0v0Ja+hUyoDKRBBYwqSgovJ7BNc115Uybpv2fbIs46KUEf0KJcOgeg4
XFmIxudAcIM6sze7yERl1/O4g8m8dHJP8m/+e4Wkd2WAFNZRHezeTzYKosaZEVVh
e77/b68shKgdZzR9HD/QpTx3Wtjg/MKx/l0+QIkO84KtAgMBAAGjgZkwgZYwHQYD
VR0OBBYEFPYEGkRXuOVRGQ6ZKTPek0pvJMudMB8GA1UdIwQYMBaAFPYEGkRXuOVR
GQ6ZKTPek0pvJMudMA4GA1UdDwEB/wQEAwIFoDAgBgNVHSUBAf8EFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwIgYDVR0RBBswGYIXd3d3LmFjdGl1bS10ZXN0Y2VydC5j
b20wDQYJKoZIhvcNAQELBQADggEBADlS3K7PgHzun3KQ8wgQ8gDi37hqtgjYJGF6
Sah4d/R3jHbq4y/QGwsZYayCT9b9/d/0/cuveYFhwLsLvD8b3pXMlrtamh6QeH8K
+orK5a7c5SEwqfx/LP4x5WjYZhq2WvGXY+rRMscFbaYh+UMv8dPlm1zFvRiPRm2k
uAKEkIHDuJNBBERSmg3Qso3ATCVGlyjHb7jkzKXJrdCBjbe0iaswi7yr8j0UuiHm
f2f6ATLaK0T/ZIR/ZIn4U3PpgsRnqEqjLRzgHSjoqx/yr/Nb5E7sotGFsoczmbQz
WMUpP3z6UnjDRAsu+Yrfxe09A8EqHes2qN9wt5XkfqQY0fMIFiI=
-----END CERTIFICATE-----

";
    }
}

/*
 */