(Решено) Как отличить ключи RSA/GOST в .NET
(1 чел.) (1) гость
  • Страница:
  • 1

ТЕМА: (Решено) Как отличить ключи RSA/GOST в .NET

(Решено) Как отличить ключи RSA/GOST в .NET 3 года, 10 мес. назад #1865

  • opewix
  • Осваиваюсь на форуме
  • Постов: 33
  • Репутация: 0
Для старых сертификатов нужно использовать старые корневые сертификаты (new_NCA_GOST.cer, new_NCA_RSA.cer).
Для новых - новые (root_gost.cer, root_rsa.cer, pki_gost.cer, pki_rsa.cer)

Используя ManagedOpenSsl:

1. А как правильно определить тип сертификата, новый он или старый, RSA или GOST?
2. Как получить OID?
3. Как узнать алгоритм шифрования.

Метод ToString() у сертификата выдает некоторую информацию, но парсить этот текст кажется неправильным...


X509Certificate.ToString():

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            77:a1:da:e0:18:ee:35:95:64:5e:73:bf:80:43:2b:16:0a:83:2d:4d:05:92:a7:67:30:7d:66:06:a9:aa:aa:c6
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: CN=\xD0\x9D\xD0\xA3\xD0\xA6 \xD0\xA0\xD0\x9A (RSA), OU=\xD0\x98\xD0\xBD\xD1\x84\xD1\x80\xD0\xB0\xD1\x81\xD1\x82\xD1\x80\xD1\x83\xD0\xBA\xD1\x82\xD1\x83\xD1\x80\xD0\xB0 \xD0\xBE\xD1\x82\xD0\xBA\xD1\x80\xD1\x8B\xD1\x82\xD1\x8B\xD1\x85 \xD0\xBA\xD0\xBB\xD1\x8E\xD1\x87\xD0\xB5\xD0\xB9, O=\xD0\x9D\xD0\xB0\xD1\x86\xD0\xB8\xD0\xBE\xD0\xBD\xD0\xB0\xD0\xBB\xD1\x8C\xD0\xBD\xD1\x8B\xD0\xB9 \xD1\x83\xD0\xB4\xD0\xBE\xD1\x81\xD1\x82\xD0\xBE\xD0\xB2\xD0\xB5\xD1\x80\xD1\x8F\xD1\x8E\xD1\x89\xD0\xB8\xD0\xB9 \xD1\x86\xD0\xB5\xD0\xBD\xD1\x82\xD1\x80 \xD0\xA0\xD0\xB5\xD1\x81\xD0\xBF\xD1\x83\xD0\xB1\xD0\xBB\xD0\xB8\xD0\xBA\xD0\xB8 \xD0\x9A\xD0\xB0\xD0\xB7\xD0\xB0\xD1\x85\xD1\x81\xD1\x82\xD0\xB0\xD0\xBD, L=\xD0\x90\xD1\x81\xD1\x82\xD0\xB0\xD0\xBD\xD0\xB0, ST=\xD0\x90\xD1\x81\xD1\x82\xD0\xB0\xD0\xBD\xD0\xB0, C=KZ
        Validity
            Not Before: May 21 05:52:46 2015 GMT
            Not After : May 20 05:52:46 2016 GMT
        Subject: serialNumber=IIN951735469875, OU=BIN753159846249, O=\xD0\xA2\xD0\x9E\xD0\x9E \xD0\xAE\xD0\xA0\xD0\x98\xD0\x94\xD0\x98\xD0\xA7\xD0\x95\xD0\xA1\xD0\x9A\xD0\x98\xD0\x99, CN=\xD0\xAE\xD0\xA0\xD0\x98\xD0\x94\xD0\x98\xD0\xA7\xD0\x95\xD0\xA1\xD0\x9A\xD0\x98\xD0\x99 \xD0\x94\xD0\x95\xD0\x99\xD0\xA1\xD0\xA2\xD0\x92\xD0\xA3\xD0\xAE\xD0\xA9\xD0\x98\xD0\x99, SN=\xD0\xAE\xD0\xA0\xD0\x98\xD0\x94\xD0\x98\xD0\xA7\xD0\x95\xD0\xA1\xD0\x9A\xD0\x98\xD0\x99/emailAddress=TEST@PKI.GOV.KZ, C=KZ, ST=\xD0\x90\xD0\xA1\xD0\xA2\xD0\x90\xD0\x9D\xD0\x90, L=\xD0\x90\xD0\xA1\xD0\xA2\xD0\x90\xD0\x9D\xD0\x90
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:83:f5:32:d5:0e:1c:2b:ed:87:f4:e9:7a:12:2d:
                    29:fa:bb:3f:1c:e9:4d:ed:e6:39:bd:a0:f5:6a:ca:
                    8a:74:0f:ec:e4:7c:59:aa:0d:a8:75:d7:18:e4:08:
                    9d:98:10:1e:eb:86:7f:3c:2a:f5:a6:82:81:77:09:
                    49:59:d1:d4:70:83:5d:87:e5:9b:99:0f:bb:2e:38:
                    e8:23:97:e7:f2:da:d2:e2:87:ee:60:17:3d:b1:9e:
                    1f:03:78:da:40:d3:7a:ea:9f:43:89:03:bf:1c:0a:
                    59:93:c6:1d:b2:1f:48:60:a4:eb:2d:0f:c0:37:4d:
                    33:5e:89:45:d3:99:fa:dc:dd:7e:3c:d8:9d:d6:61:
                    3d:36:fe:49:91:f9:3a:08:c6:57:9d:79:c9:23:e7:
                    db:c3:75:85:05:cd:fb:9f:47:f6:ff:a9:e1:c9:7e:
                    79:e1:4d:fd:2b:34:c1:05:9b:71:46:01:7b:61:6c:
                    dc:b6:5e:b6:a3:f3:08:6d:78:25:36:45:7e:03:43:
                    9a:11:80:f1:3d:2f:6c:a4:08:1c:36:b1:68:ad:48:
                    b8:9d:bc:d8:aa:22:f3:b9:8b:50:69:9d:a2:18:ef:
                    38:93:47:a6:a6:7c:2a:21:1c:27:6d:c5:dd:74:28:
                    24:86:0b:4a:82:ee:14:ad:78:ad:23:24:f4:1f:17:
                    2d:4d
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier: 
                DB:79:BB:07:B4:72:2C:04:2E:02:59:79:B3:B1:19:95:FC:46:76:5B
            Authority Information Access: 
                CA Issuers - URI:http://pki.gov.kz/info/cacert_rsa.cer

            X509v3 Authority Key Identifier: 
                keyid:02

            X509v3 Key Usage: 
                Digital Signature, Key Encipherment
            X509v3 Freshest CRL: 

                Full Name:
                  URI:http://crl.pki.kz/crl/Rsa0_delta.crl

                Full Name:
                  URI:http://crl1.pki.kz/crl/Rsa0_delta.crl

            X509v3 Certificate Policies: 
                Policy: 1.2.398.3.3.2.2
                  CPS: http://pki.gov.kz/info/policy_auth_leg.pdf
                  User Notice:
                    Explicit Text: ??? ?????????????? ???????????? ????. ?????????????? - ????? ???????????? ?????????????
                Policy: 1.2.398.3.3.1.1
                  CPS: http://pki.gov.kz/info/ca_policy.pdf
                  User Notice:
                    Explicit Text: ????????? ????????????? ??????????????? ??????

            X509v3 Extended Key Usage: 
                TLS Web Client Authentication
            X509v3 CRL Distribution Points: 

                Full Name:
                  URI:http://crl.pki.kz/crl/Rsa0.crl

                Full Name:
                  URI:http://crl1.pki.kz/crl/Rsa0.crl

    Signature Algorithm: sha1WithRSAEncryption
         83:b9:44:8b:af:50:64:2d:81:38:4a:ff:58:8a:1a:f0:40:2c:
         3d:44:9b:10:c1:7b:a9:e1:c6:a4:a9:83:bd:77:56:2a:f5:22:
         f0:e5:79:6e:27:c1:42:d8:0d:aa:f3:62:06:f2:39:16:a4:93:
         8f:ed:78:3e:6a:a5:08:30:ca:08:94:f3:c3:8b:b0:fd:08:ae:
         ee:e9:08:78:5e:47:93:fa:ea:41:07:9a:e4:4e:5a:f2:0c:f2:
         fc:1b:14:d9:c8:13:73:5b:24:59:14:99:c1:ec:bc:fa:99:b1:
         de:d7:a4:69:9b:8e:4d:f1:62:a7:d8:48:9f:cf:70:43:24:e5:
         51:cd:ee:5e:43:dd:d7:fc:ae:90:cc:ac:e6:8e:b1:19:ad:6a:
         63:a9:d5:56:ab:85:28:b5:f7:bf:28:c2:61:b1:df:3c:2c:92:
         12:9c:b4:7e:42:19:a1:68:2f:84:98:15:5d:31:67:07:2d:62:
         36:69:72:a9:0c:94:8d:e5:e0:ff:d2:63:13:17:e1:4b:dd:b7:
         6a:e4:3c:39:6b:da:41:bb:3c:c7:e8:72:fc:76:8d:c1:39:f4:
         07:f2:06:eb:d7:6d:9b:44:d1:e6:c1:88:30:e7:e0:6e:8c:34:
         6c:2e:59:ee:fd:eb:2a:47:2c:04:cc:7d:cc:27:73:56:57:b7:
         51:69:67:2b:c7:27:1c:47:8c:77:70:33:48:3b:b8:64:05:3d:
         04:ee:5a:0a:a8:a5:6f:be:a7:1d:b2:cd:4a:af:be:34:89:7d:
         a0:10:06:c4:9f:7d:c3:2c:eb:8f:de:a7:29:0d:7a:2f:a4:8f:
         a4:83:37:1d:21:07:c2:ec:8c:f0:23:1f:51:76:45:65:c6:a7:
         fe:d5:fc:06:09:46:c8:9e:d3:e5:67:52:9d:f6:ee:e8:d7:d0:
         ee:6f:6c:6f:74:f2:db:cb:36:78:c5:a9:5c:53:0c:17:04:d1:
         82:cd:3e:56:db:98:be:f8:27:ec:87:85:59:d8:b7:16:6a:ad:
         91:71:cb:05:b6:3e:e8:fa:f7:fa:e6:f3:1a:31:8e:dd:16:22:
         25:6e:24:b8:06:84:87:da:17:7c:27:49:16:09:0f:c7:de:a5:
         ca:77:5e:d8:0f:09:63:c4:90:d8:86:ef:61:7c:7e:20:bc:39:
         4d:a8:20:be:66:00:52:10:c5:bb:ce:15:19:69:39:3e:5f:7f:
         c8:c5:d7:a5:0d:03:c1:c2:50:1f:06:39:7f:75:a0:d1:48:fc:
         3e:c7:97:39:18:f8:f6:14:31:77:ae:b2:b4:18:b3:94:6b:56:
         c0:63:08:7d:06:9e:9f:64:75:a3:8d:83:80:68:8e:ea:ec:54:
         13:d1:d0:ca:e0:3a:41:34
Изменено: 3 года, 10 мес. назад от opewix.

Re: Как отличить новые/старые ключи, RSA/GOST в .NET 3 года, 10 мес. назад #1870

  • opewix
  • Осваиваюсь на форуме
  • Постов: 33
  • Репутация: 0
UP!

Re: Как отличить новые/старые ключи, RSA/GOST в .NET 3 года, 10 мес. назад #1872

  • opewix
  • Осваиваюсь на форуме
  • Постов: 33
  • Репутация: 0
Кажется понял...

Всем спасибо

            using (X509Certificate certificate = GetCertificateFromXml(signedXml))
            {
                X509Certificate2 winCert = new X509Certificate2(certificate.DER);
		winCert.SignatureAlgorithm ........
            }
  • Страница:
  • 1
FaLang translation system by Faboba