Востановление ключей из файла ovpn crt,key в openvpn для отзыва сертификата

index.txt

R 301025053723Z 210106113546Z 4C4CEBDD77F56C50A0F4CC9CCD56AD6E unknown /CN=name1
V 310106021600Z fa5b3872387114bb4b49c7d0d1490df5 unknown /CN=name2
V 310106021820Z 1ECDBCA8D156828FAC25B8D90EC91D82 unknown /CN=name3
  • 1 колонка
    • R - revoke т.е отозванный
    • V - valid т.е активный
  • 2 колонка это время до какого сертификат быдет активный. Пример 310106021820Z до 31 года 01 месяца 06 дня 02 часа 18 минут 20 секунд
  • 3 колонка это время отзыва или истечения если задано конфигом
  • 4 колонка серийный номер (при генерации нового сертификата указывается в виде Serial Number fa:5b:38:72:38:71:14:bb:4b:49:c7:d0:d1:49:0d:f5, указывается в name.ovpn/crt)
  • 6 колонка имя сертификата

name.crt

если нет файлов(name.crt) которые созданы при генерации нового сертификата, мы можем их воссаоздать из файла ovpn если таковой имеется
в файле ovpn он начинается со строки Certificate: и заканчивается на
END CERTIFICATE

пример -

`Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: ----------- ТОТ САМЫЙ СЕРИЙНЫЙ НОМЕР
            2b:7f:d4:30:d1:2f:2c:4e:e2:f8:e0:6e:3a:28:6f:17
    Signature Algorithm: sha512WithRSAEncryption
        Issuer: C=KZ, L=City, O=Company, OU=Office, CN=Nmae CA/name=EasyRSA/[email protected]
        Validity
            Not Before: Jan  8 08:12:09 2021 GMT
            Not After : Jan  6 08:12:09 2031 GMT
        Subject: CN=fortest
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (4096 bit)
                Modulus:
                    00:d0:7c:ad:72:d2:8a:47:7b:f6:c7:da:c6:3d:61:
                    5f:2d:88:39:18:a4:86:97:ae:a8:b5:a6:2f:9b:40:
                    ...
                    67:d3:db:44:10:2a:d4:5c:0a:ef:a3:86:d1:3c:00:
                    47:98:eb:31:be:b5:d6:f5:34:10:2e:8a:89:69:b2:
                    2f:9c:0f
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            X509v3 Subject Key Identifier: 
                CA:9F:CA:15:66:BF:64:18:33:00:D0:C0:B4:60:A2:94:D9:5B:9A:AD
            X509v3 Authority Key Identifier: 
                keyid:77:CB:DB:AB:08:BC:D7:63:83:DA:94:55:84:EF:11:97:2C:6E:A9:E8
                DirName:/C=KZ/L=Cyti/O=Company/OU=Office/CN=Name CA/name=EasyRSA/[email protected]
                serial:8C:C6:67:1F:22:2F:A7:BA

            X509v3 Extended Key Usage: 
                TLS Web Client Authentication
            X509v3 Key Usage: 
                Digital Signature
    Signature Algorithm: sha512WithRSAEncryption
         17:04:ce:77:e5:f5:31:be:6e:5b:c4:92:f5:06:81:7c:e7:17:
         4d:9c:b3:02:50:63:14:eb:02:cc:91:13:ad:91:e7:9a:7d:2c:
         01:20:b5:24:1d:03:e6:cd:57:8a:fd:d2:b2:ee:a0:4d:8d:f2:
         7d:9b:07:18:61:84:1f:42:4b:22:26:af:f6:e5:c8:d2:7e:ab:
         9e:5e:0e:a9:06:18:8f:38:49:5f:43:3f:36:51:25:28:e5:2b:
         01:39:13:19:4f:38:82:dd:59:6d:b5:42:34:9c:18:a6:d0:2a:
         38:f0:2a:8e:ec:c7:72:0c:aa:ce:ab:ac:ee:68:54:61:43:ea:
         39:c3:0e:34:6b:7c:04:7c:2f:30:96:29:54:96:df:2c:6a:29:
         f6:ef:1e:78:80:fa:30:59:b8:d1:3d:ab:54:7d:77:63:36:1a:
         c0:74:c5:5f:12:1f:f8:4c:79:0c:bc:e8:c0:6a:cf:83:f0:ed:
         76:4e:ff:b6:69:b7:ed:df:85:21:3d:10:ce:e3:0c:3d:3d:d0:
         65:5c:9e:ff:60:e5:14:25:e5:08:4c:cb:f9:e8:1f:d1:26:6c:
         58:6d:bf:f8:39:8a:ad:65:f8:24:bb:6e:67:9b:be:12:a9:2b:
         63:74:cd:cf:fe:9f:a2:df:fa:61:1f:b2:f1:a0:c5:14:64:f0:
         90:62:05:96
-----BEGIN CERTIFICATE-----
MIIFHTCCBAWgAwIBAgIQK3/UMNEvLE7i+OBuOihvFzANBgkqhkiG9w0BAQ0FADB9
MQswCQYDVQQGEwJLWjEPMA0GA1UEBxMGQWxtYXR5MQwwCgYDVQQKEwNBU0IxDzAN

....

EM7jDD090GVcnv9g5RQl5QhMy/noH9EmbFhtv/g5iq1l+CS7bmebvhKpK2N0zc/+
n6Lf+mEfsvGgxRRk8JBiBZY=
-----END CERTIFICATE-----`

name.key - приватный ключ, лежать должен по пути /etc/openvpn/easy-rsa/3/pki/private/cn_name.key

внутри выглядит примерно так -

BEGIN ENCRYPTED PRIVATE KEY

MIIJljBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIRJhQ2IFza8gCAggA
MBQGCCqGSIb3DQMHBAiEpwr0m+D4hgSCCVAgIkyNb8u5McZFsdSJwm7WWSAurxzA
...
B9hkOj6tRW3bxUlvuBJdpbHcEAQBMNPoF3Og7uhUGvQBihjyJkyo8e228pAV6E3f
xvlDQc6/P7S8jpeNdXJivDbgPFRgf0Hq/yMkdWW3kRlYygi0JrrS8Iv0IpZdjJdN
KV06a3lTlG4E6g==

END ENCRYPTED PRIVATE KEY

Восстановив запись в index.txt, ключи crt,key можно отзывать сертификат пользователя, easy-rsa будет ругатся на отсутсвие ключа cn_name.req который обычно находится по пути /etc/openvpn/easy-rsa/3/pki/request/. Тем не менее ключ будет отозван и файл crl.pem будет обновлен как и полагается!

1 Like