В общем поднял CA на одной машине. Для этой цели использую CentOS 6.4 и Openssl, но проблема в том что после месяца сертификаты становятся не валидными и не понимаю где косяк.# openssl verify -CAfile ca.crt server1.crt
........................................
error 10 at 1 depth lookup:certificate has expired
OKКонфиг CA:
[ ca ]
default_ca = CA_default # The default ca section[ CA_default ]
dir = . # Where everything is kept
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
unique_subject = no # Set to 'no' to allow creation of
# several ctificates with same subject.
new_certs_dir = $dir/newcerts # default place for new certs.certificate = $dir/ca.crt # The CA certificate
serial = $dir/serial # The current serial number
crlnumber = $dir/crlnumber # the current crl number
# must be commented out to leave a V1 CRL
crl = $dir/crl.pem # The current CRL
private_key = $dir/ca.key # The private key
RANDFILE = $dir/private/.rand # private random number filex509_extensions = usr_cert # The extentions to add to the cert
name_opt = ca_default # Subject Name options
cert_opt = ca_default # Certificate field optionsdefault_days = 365 # how long to certify for
default_crl_days= 30 # how long before next CRL
default_md = default # use public key default MD
preserve = no # keep passed DN orderingpolicy = policy_match
[ policy_match ]
countryName = match
stateOrProvinceName = match
organizationName = match
organizationalUnitName = optional
commonName = supplied
emailAddress = optionalгенерировал сертификаты таким образом:
openssl req -config ./openssl.cnf -new -newkey rsa:2048 -nodes -keyout server1.key -out server1.csr
openssl ca -config ./openssl.cnf -out server1.crt -days 3650 -infiles server1.csrвот соделжимое самого сертификата на счет Validity :
Validity
Not Before: Apr 15 08:19:17 2013 GMT
Not After : Apr 13 08:19:17 2023 GMT
укажи в команде openssl req опцию -days 3650, то есть:openssl req -config ./openssl.cnf -new -newkey rsa:2048 -nodes -keyout server1.key -out server1.csr -days 3650
а то в конфиге как раз и стоит default_crl_days= 30 (то бишь месяц)
> укажи в команде openssl req опцию -days 3650, то есть:
> openssl req -config ./openssl.cnf -new -newkey rsa:2048 -nodes -keyout server1.key -out
> server1.csr -days 3650
> а то в конфиге как раз и стоит default_crl_days= 30 (то бишь
> месяц)Так... скажу что я сделал и что прлучилось
1. сделал revoke сертификата server1.crt
2. удалил server1.*
3. openssl req -config ./openssl.cnf -new -newkey rsa:2048 -nodes -keyout server1.key -out server1.csr -days 3650
4. openssl ca -config ./openssl.cnf -out server1.crt -days 3650 -infiles server1.csrи вот 4то я получаю:
openssl verify -CAfile ca.crt mail.hm.is.crt
............................................
error 10 at 1 depth lookup:certificate has expired
OKто есть без изменении.
межет у меня ca сертификат постарел ?
я его создал так:
openssl req -config ./openssl.cnf -new -x509 -newkey rsa:2048 -keyout ca.key -out ca.crt
а очень даже может быть, так сходу поискал, генерят вот типа так:
openssl req -new -x509 -extensions v3_ca -keyout private/rootCA.key -out rootCA.crt -days 3650 -config ./openssl.cnfтак что указывают при создании самоподписанного корневого сертификата -days
> а очень даже может быть, так сходу поискал, генерят вот типа так:
> openssl req -new -x509 -extensions v3_ca -keyout private/rootCA.key -out rootCA.crt -days
> 3650 -config ./openssl.cnf
> так что указывают при создании самоподписанного корневого сертификата -daysсделал так, уже подожду месяц и скажу результат
так ради интереса можно и в виртуалке всё это проделать, а потом в ней дату поменять...