Создать tsa (timestamping) сертификат с помощью openssl - добавить extendedKeyUsage в сертификат

Я хотел бы создать сертификат TSA для моей службы меток времени.

Сначала я создаю корневой сертификат

openssl genrsa -out tsaroot.key 4096 -config openssl.cnf
openssl req -new -x509 -days 1826 -key tsaroot.key -out tsaroot.crt -config openssl.cnf

Затем я создаю сертификат TSA

openssl genrsa -des3 -out tsa.key 4096 -config openssl.cnf
openssl req -new -key tsa.key -out tsa.csr -config openssl.cnf
openssl x509 -req -days 730 -in tsa.csr -CA tsaroot.crt -CAkey tsaroot.key -set_serial 01 -out tsa.crt
openssl pkcs12 -export -out tsa.p12 -inkey tsa.key -in tsa.crt -chain -CAfile tsaroot.crt

В моем файле openssl.cnf я добавляю следующую строку:

extendedKeyUsage = critical,timeStamping

Однако созданный сертификат, похоже, не включает extendeKeyUsage (когда я пытаюсь прочитать его с надувным замком, я получаю исключение "Сертификат должен иметь расширение ExtendedKeyUsage".)

Как я могу сгенерировать действительный сертификат tsa (с включенным правильным значением extendedKeyUsage)?

Спасибо

2 ответа

Решение

Следующее сработало:

создайте файл extKey.cnf с extendedKeyUsage внутри

extendedKeyUsage = critical,timeStamping

Добавьте его при создании запроса:

openssl x509 -req -days 730 -in tsa.csr -CA tsaroot.crt -CAkey tsaroot.key -set_serial 01 -out tsa.crt -extfile extKey.cnf

Попробуйте со следующим:

  1. Добавьте именованный раздел в openssl.cnf файл:

    [v3_tsa]
    extendedKeyUsage = critical,timeStamping
    
  2. При создании сертификата TSA из tsrдобавить переключатель -extensions:

    openssl x509 -req ... -extensions v3_tsa
    
Другие вопросы по тегам