Openssl: измените openssl x509 на openssl ca для поддержки опций -startdate и -enddate - PullRequest
0 голосов
/ 20 января 2020

В настоящее время я использую openssl x509 для генерации сертификата CA, сертификата сервера и ключа сервера. По некоторым причинам я хотел бы настроить дату -startdate и дату -enddate при создании сертификата. После некоторых исследований я обнаружил, что openssl x509 не поддерживает опции -startdate и -enddate, поэтому мне нужно перейти на openssl ca. Я пробовал несколько дней, но безуспешно, чтобы сменить сценарий на openssl.

Могу ли я чем-нибудь помочь? Ниже приведены мои сценарии для создания сертификата CA, сертификата сервера и ключа сервера с использованием openssl x509.

generateCA.bat

@echo off
@echo *****************************************************
@echo *  Generate CA cert
@echo *****************************************************
set path=%path%;C:\Program Files\JDK\bin

c:
cd "C:\OpenSSL-Win64\bin"
set OPENSSL_CONF=C:\OpenSSL-Win64\bin\openssl_ca.cfg

openssl req -new -x509 -extensions v3_ca -keyout private/cakey.pem -out cacert.pem -days 3650

if exist new_cert (
    rmdir /s /q new_cert
)

mkdir new_cert
copy /y cacert.pem cacert.crt
copy /y cacert.pem   new_cert\cacert.crt
copy /y cacert.pem   new_cert\CACert.crt

@echo.
@echo.
pause

generateServerCertAndKey.bat

@echo off
cls

set RANDFILE=C:\OpenSSL-Win64\bin\.rnd
set /p TargetPCName=Enter Target Computer Name (Lower Case preferred):
set /p PemPassword=Enter the PEM pass phrase:

@echo *****************************************************
@echo *  Creating Server cert
@echo *****************************************************
set path=%path%;C:\Program Files\JDK\bin

set OPENSSL_CONF=C:\OpenSSL-Win64\bin\openssl.cfg

openssl req -config openssl.cfg -new -nodes -batch -keyout private/server.key -out     server.csr -days 3650


@echo *****************************************************
@echo *  Create the Server cert
@echo *****************************************************

openssl ca -extensions req_ext -config openssl.cfg -policy policy_anything -key     %PemPassword% -batch -subj "/CN=%TargetPCName%" -out certs/server.crt -infiles server.csr 

if exist new_cert (
    rmdir /s /q new_cert
)

mkdir new_cert
copy cacert.pem   new_cert\cacert.crt
copy cacert.pem   new_cert\CACert.crt
copy private\server.key   new_cert\server.key
copy certs\server.crt     new_cert\server.crt

@echo.
@echo.
pause
...