Добрый день!
Уже какой день пытаюсь создать связку: свой самоподписанный корневой сертификат + некоторое количество подписанных сертификатов этим CA ( при этом, каждый сертификат должен иметь заполненное свойство Subject Alternate Name).
Создать - самоподписанный сертификат с наличием SAN - элементарно. В интернете куча примеров в 1 строчку.
Создать - самоподписанный сертификат, который будет являться в дальнейшем CA - тоже элементарно.
Дальше начинаются проблемы...
1) Создать CSR с наличием свойства SAN - долго мучался - но вроде сделал.
2) Подписать этот CSR с помощью CA... Вот тут сейчас висяк. Что-бы я не сделал, свойства пропадают или ошибки при генерации.
Для указания SAN, используется внешний конфиг. Например такой (нашел в интернете).
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
stateOrProvinceName = State or Province Name (full name)
localityName = Locality Name (eg, city)
organizationName = Organization Name (eg, company)
commonName = bestflare.com
[ req_ext ]
subjectAltName = @alt_names
[alt_names]
DNS.1 = bestflare.com
DNS.2 = usefulread.com
DNS.3 = chandank.com
CSR получился такой
-----BEGIN CERTIFICATE REQUEST-----
MIIE8zCCAtsCAQAwZTELMAkGA1UEBhMCUlUxEjAQBgNVBAgMCVVseWFub3ZzazES
MBAGA1UEBwwJVWx5YW5vdnNrMRYwFAYDVQQKDA1EYXJrLVNvZnR3YXJlMRYwFAYD
VQQDDA1iZXN0ZmxhcmUuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC
AgEAqnmy7NqNVbGPCCpwg5+cpy8YY8M+gZwXzHh6Ronw//4y4enTSrarXuyIWcWz
un1BwaQGgBdFadabrzvB7hMf3fFiurxcBYqOTr83Sj5sQzP84WCAc7zJFXnvdPOb
uGIJhnytBTDSPKQoooNcqeC5VpBVgbt0PSpWJ+xGFYKG/AxmjeMaTLnF7PGzTCjZ
hu/hnsUewzIz6nsFWfhPXCBb8pJAljXaWAO1GVRSKwhvEQcLIpUXdDvK2yiFHjDl
zSeRsIgLBOulcbHEjiqiwC0cSSfLCa8kM6V/oO8H23zUD+4XvKxGkGOgqGkVgefe
wI83ky1N+XaRiZuMFtCyuAl1h9k42fkgtlgcH6xiXErmCeb/J0Hr4cyfA6Y5a4Yw
tcZl8b35vz4j6A4SxnPNWCo0KY9K6fHhmfzeH20/9wTn8NXzV3Uzn/g/YLCS+X7B
W9O5Ahz4iIG9tEP+5NgfQ7Rwv6Ug25ijGZfzjsa09T7pnTJwdqR81We3iEVYnmhv
BA8hcBJ5vVaoK09NGYUHSgr21RuUEt/DvxQTKTZAPze31YK0htz0e+JT8qpJqnS8
PRL9JDK6NfIUQTJ6mVZ/X37C+AuLFY38MqqbbDJGWD6V3qLnSAQKcJKZR/W7Euaz
5wTJ6asxBDb+v7VgOW/+gEEB1Zr3Td5ZGxUhWorh6fPuC08CAwEAAaBJMEcGCSqG
SIb3DQEJDjE6MDgwNgYDVR0RBC8wLYINYmVzdGZsYXJlLmNvbYIOdXNlZnVscmVh
ZC5jb22CDGNoYW5kYW5rLmNvbTANBgkqhkiG9w0BAQsFAAOCAgEAUiR6+ucfb07h
gGJxTHStkeU0N9VQcD3osmmSaUWYU++GkWHCfOc/w73aSRuozTFdASreFcrfyWez
kuofyYZ1ut1miRdKMZAoSPFJ/rqbi1iOXt44J1xaNvrNmAm8rCc7saPnLWUzCe3C
MNbjLOFtODcODQpfcW0bQ41qLivhBWmpj72YB01cMcN10GnemR+hVsFx6YPK65yq
rp3liyTy/xGuH58RXz7dhxwjniwqzEXabJ5aq5DBF3NKIg+Zy8Cp/LsGnyS15aMB
OdxChGUQGDD2/oeOQjkJG7VoIxD278H1pzjBVuYKYFgcBMsKdnyP7zqZCeJinYSI
NDs3UXWu40YrT3r7q32JP5FXMBnl6QUiO/7tjaEP0D8C3ar4PoLz3rtfLR97WrWN
iGVZ6AJ3p470VoFylsoSIY1zPH2o45dWkKRF9G17LTbTdHdDALccYXzW+Lu4dFkX
6U7oPsTaWlsdE3HbPS6jWmESgJ4k/LMKJBh1Gxz1+DF84SZFEhQaJmLYRtKwH1x3
reKkkOspGwu164odwj6LaoRwPJZ/PYK4SrIbcjDyIB6UFdqgKs5YRdiD4rD2OBqL
lN/a64KYy/Qvih3bHIjaZ96aX1kiLM2L29WPvrOypi3tCurQDjaNAkRz/Pb0et2v
8pweeH9aOxNfbmClbGEAZCbFHIvEvLQ=
-----END CERTIFICATE REQUEST-----
Как этот CSR подписать своим CA без потери свойств?