У меня есть собственный корневой сертификат, который я импортировал в свою цепочку ключей входа в систему OSX и сказал ему доверять всем. Сейчас я создаю сертификат для S / MIME. Я создаю CSR в Keychain Access, а затем подписываю его корневым ключом и сертификатом:
sudo openssl x509 -req -days 365 -in $1 \
-CA ca.crt -CAkey ca.key \
-set_serial 1 -out $2 -setalias $3 \
-addtrust emailProtection \
-addreject clientAuth -addreject serverAuth -trustout \
-extfile smime.extensions
где smime.extensions
содержит следующее:
basicConstraints=critical,CA:FALSE
keyUsage=critical,digitalSignature,keyEncipherment
extendedKeyUsage=emailProtection
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer
subjectAltName=email:copy
nsCertType=email
Я получаю в целом красивый сертификат, но когда я импортирую его в связку ключей на машине OSX, он жалуется, что «Этот сертификат был подписан неизвестным органом».
Мне что-то не хватает, чтобы установить правильное соединение между сертификатом CA, который я импортировал, и сертификатом S / MIME? Спасибо.
Оказывается, я использовал неправильные открытый и закрытый ключи для подписи запроса.