Создание сертификата пользователя x509 v3 путем подписания CSR

Я знаю, как подписать CSR с помощью openssl, но сертификат результата - x509 v1, а не v3.

Я использую следующие команды:

x509 -req -days 365 -in myCSR.csr -CA myCA.crt -CAkey myCA.key -CAcreateserial -out userCertificate.crt

Я искал, но не смог найти решение. Есть ли другой способ сделать это программно?

Ответ 1

Вам нужно указать файл расширений.

Например:

openssl x509 -days 365 -in myCSR.csr -extfile v3.ext -CA myCA.crt -CAkey myCA.key -CAcreateserial -out userCertificate.crt

Файл расширений (v3.ext) может выглядеть так:

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment