Мне нужна помощь в создании 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-имен для этого типа сертификата

благодарю вас!

1 ответ1

1

Вот изменения, которые я должен был сделать, чтобы заставить его работать (спасибо Steffen Ullrich):

openssl x509 -req -sha256 -in foo.csr -extfile ./cust.cnf -extensions v3_req -out foo.crt -CAkey myCA.key -CA myCA.cer -days 365 -CAcreateserial -CAserial serial

вот OpenSSL документация объяснить , как работают -extfile и -extensions варианты

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .