Preciso de ajuda para criar um certificado SSL com vários subjectAltNames, assinados com o meu certificado de CA selfbrewed.
O que eu preciso:
Estou no OSX 10.10.5
Eu tenho o myCA.cer que eu uso para assinar outro certificado SSL
que tem próximos nomes alternativos:
(não tenho certeza se o IP pode ser um nome alternativo embora ...)
DNS.1 = foo.bearden.local
DNS.2 = www.bearden.local
DNS.3 = 192.168.1.58
Eu preciso importar este certificado para o meu iphone, que já tem o myCA.cer. É assim que será verificado no SO do iphone.
O que eu faço:
Eu corro este script de shell:
cat > ./cust.cnf <<-EOF
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
CN = *.bearden.local/ CN=192.168.1.58
[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = foo.bearden.local
DNS.2 = www.bearden.local
DNS.3 = 192.168.1.58
EOF
openssl genrsa -out foo.key 2048 -config ./cust.cnf && \
openssl req -new -out foo.csr -key foo.key -config ./cust.cnf && \
openssl x509 -req -sha256 -in foo.csr -extfile ./cust.cnf -out foo.crt -CAkey myCA.key -CA myCA.cer -days 365 -CAcreateserial -CAserial serial
Problema / pergunta:
1 - O curinga no CN não funciona (o Google chrome ainda diz que não é confiável, mesmo que eu tenha definido opções de confiança completas no keychain)
2 - Quando eu adiciono o certificado ao keychain (myCA.cer já está lá) ele o reconhece como válido e confiável, mas o próprio certificado (foo.crt) não possui nomes DNS alternativos que mencionei na configuração .
Por favor, ajude-me a obter meus múltiplos nomes Alt DNS para esse tipo de certificado
obrigado!