3

Я довольно новичок в OpenSSL, и я пытаюсь указать сертификат, который действителен только один час, используя OpenSSL. Я добился успеха в этом с openssl ca используя -startdate и -enddate , но мне было интересно, можно ли установить допустимость в файле конфигурации для использования с openssl req? Если да, не могли бы вы привести пример?

Я попытался использовать подобный синтаксис как:

privateKeyUsagePeriod = ASN1:SEQUENCE:privateKeyUsagePeriod

[privateKeyUsagePeriod]

notBefore = IMPLICIT:0,GENERALIZEDTIME:20170501000000Z

notAfter = IMPLICIT:0,GENERALIZEDTIME:22910501000000Z

Этот синтаксис, кажется, не работает на валидность. Спасибо всем заранее за любые рекомендации, которые вы можете дать мне.

1 ответ1

3

Во-первых, ваш пример для PrivateKeyUsagePeriod неверен; notAfter должен быть помечен 1 не 0. Несмотря на то, что практически никакое программное обеспечение никогда не смотрит на PKUP, эта ошибка может не иметь значения.

Более конкретно, PKUP является расширением, а расширения X509v3 используют изменяющуюся структуру OID+, которая требует, чтобы OpenSSL разрешал практически любой тип ASN.1 для поддержки будущих дополнений без изменения кода. Допустимость является частью фиксированной части (начиная с v1) и реализуется конкретным кодом, и в любом случае это не тот же тип (не помеченный, не опциональный и CHOICE {UTCTime, GeneralizedTime}).

Для openssl ca вы можете использовать default_startdate и default_enddate в разделе конфигурационного файла с именем default_ca (не с именем x509_extensions) вместо параметров командной строки. См. Справочную страницу в вашей системе или в Интернете в разделе «ОПЦИИ ФАЙЛА КОНФИГУРАЦИИ».

Для других операций командной строки в настоящее время нет кода, поддерживающего это; Вы можете написать свое собственное приложение (я), вызывающее библиотеку, или, поскольку OpenSSL является открытым исходным кодом, просто сделайте копию и измените ее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .