I ' m, выполнив те же шаги, что и в этом ответе , чтобы создать локальный CA.
Несмотря на то, что для параметра default_days
в моем файле конфигурации установлено значение 1825 (дней), полученный сертификат CA всегда устанавливается истекает через 30 дней после создания.
Я подтверждаю это, просматривая полученный файл PEM с
openssl x509 -в ./cacert.pem -text -noout
Вот конфигурационный файл, который я использую для создания сертификата CA:
HOME = .
RANDFILE = $ENV::HOME/.rnd
####################################################################
[ ca ]
default_ca = CA_default # The default ca section
[ CA_default ]
default_days = 1825 # how long to certify for
default_crl_days = 30 # how long before next CRL
default_md = sha256 # use public key default MD
preserve = no # keep passed DN ordering
x509_extensions = ca_extensions # The extensions to add to the cert
email_in_dn = no # Don't concat the email in the DN
copy_extensions = copy # Required to copy SANs from CSR to cert
base_dir = ./CA
certificate = $base_dir/cacert.pem # The CA certifcate
private_key = $base_dir/private/cakey.pem # The CA private key
new_certs_dir = $base_dir/newcerts # Location for new certs after signing
database = $base_dir/index.txt # Database index file
serial = $base_dir/serial # The current serial number
unique_subject = no # Set to 'no' to allow creation of
# several certificates with same subject.
####################################################################
[ req ]
default_bits = 4096
default_keyfile = cakey.pem
distinguished_name = ca_distinguished_name
x509_extensions = ca_extensions
string_mask = utf8only
####################################################################
[ ca_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = US
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = CA
localityName = Locality Name (eg, city)
localityName_default = Bakersfield
organizationName = Organization Name (eg, company)
organizationName_default = Some Company
organizationalUnitName = Organizational Unit (eg, division)
organizationalUnitName_default = Some Org Unit
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_default = some-local-CA
emailAddress = Email Address
emailAddress_default = netadmin@domain.com
####################################################################
[ ca_extensions ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always, issuer
basicConstraints = critical, CA:true
keyUsage = keyCertSign, cRLSign
####################################################################
[ signing_policy ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
####################################################################
[ signing_req ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
Затем я создаю локальный CA с помощью этой команды (тот же каталог):
openssl req -x509 -config ./openssl-ca.cnf -newkey rsa:4096 -sha256 -nodes -out cacert.pem -outform PEM
Я попытался установить параметр default_crl_days
к чему-то другому, кроме 30, и, похоже, это не имело никакого эффекта.
Как мне указать дату истечения срока (или количество дней до истечения срока) для моего местного центра сертификации?
С помощью имеющейся у меня настройки для создания CA и CA-INT Я получаю следующее для своих дат действия:
Validity
Not Before: Jan 28 03:28:40 2018 GMT
Not After : Jan 23 03:28:40 2038 GMT
Я обнаружил, что могу заставить это работать, только передав его в openssl
напрямую через переключатель -days
.
Например:
openssl req -config $topDir/openssl.cnf \
-key $ca_key_file \
-new -x509 -days 7300 -sha256 -extensions v3_ca \
-out $ca_cert_file -passin pass:casecret \
-subj "/C=US/ST=NC/L=Raleigh/O=APPS Security/OU=APPS/CN=APPS CA"
Если вы следуете связанному вопросу / ответу, постер использует openssl req
для создания сертификата. Без специальной опции -days
в командной строке, команда по умолчанию имеет значение 30 дней:
-days n
Когда используется опция -x509, она указывает количество дней для сертификации сертификат для, в противном случае он игнорируется. п должно быть положительным целым числом. По умолчанию - 30 дней.
То же самое и с командой x509
:
-days arg
Указывает количество дней, в течение которых сертификат должен действовать. По умолчанию - 30 дней.
default_days
, default_startdate
и default_enddate
в файле параметров используются только с командой openssl ca
(не req
или x509
).