Мне нужна помощь в создании SSL-сертификата с несколькими subjectAltNames, подписанными собственным сертификатом CA
Что мне нужно:
Я на OSX 10.10.5
У меня есть myCA.cer, который я использую для подписи другого сертификата SSL, который имеет следующие альтернативные имена:
(не уверен, что IP может быть альтернативным именем, хотя ...)
DNS.1 = foo.bearden.local
DNS.2 = www.bearden.local
DNS.3 = 192.168.1.58
Мне нужно импортировать этот сертификат на мой iphone, на котором уже есть myCA.cer. Вот как это будет проверено в ОС iphone.
Что я делаю:
Я запускаю этот сценарий оболочки:
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
Проблема / Вопрос:
1 - Подстановочный знак в CN не работает (Google Chrome по-прежнему говорит, что он не заслуживает доверия, хотя я установил полный набор параметров доверия в связке ключей)
2 - Когда я добавляю сертификат в цепочку для ключей (myCA.cer уже существует), он распознает его как действительный и доверенный, но сам сертификат (foo.crt) не имеет альтернативных DNS-имен, которые я упомянул в config.
Пожалуйста, помогите мне получить несколько альтернативных DNS-имен для этого типа сертификата
благодарю вас!