o certyfikat X.509 do obsługi wielu domen, należy użyć Temat wpisy wielokrotne alternatywna nazwa DNS, według RFC 2818 (HTTP over TLS) (lub RFC 6125):
Jeżeli przedłużenie subjectAltName typu dNSName jest obecny, który musi służy jako tożsamość. W przeciwnym razie musi być użyte (najbardziej szczegółowe) pole Nazwa zwyczajowa w polu Temat certyfikatu. Mimo że używanie nazwy zwykłej jest obecnie praktykowane, jest ona uznawana za przestarzałą i zaleca się, aby instytucje certyfikacji używały nazwy dNSName.
Dopasowywanie odbywa się zgodnie z regułami określonymi przez [RFC2459]. Jeśli więcej niż jeden tożsamość określonego typu jest obecny w certyfikat (na przykład, więcej niż jedna nazwa dNSName, pasuje do któregokolwiek zestawu jest uważane za dopuszczalne.)
Jak opisano this document (za wyjątkiem użyłbym -des3
też na komendę genrsa
, aby chronić klucz prywatny):
- zrobić kopię początkowego
openssl.cnf
plik (oryginał jest prawdopodobnie gdzieś pod /etc
w systemie Linux).
- Edytuj, aby dodać
req_extensions = v3_req
w sekcji [ req ]
.
- Edytuj, aby dodać
subjectAltName=DNS:www.example.com,DNS:www.other-example.com
(jeden wpis DNS:
na nazwę hosta) w sekcji [ v3_req ]
.
- Uczyń OpenSSL, używając tego pliku konfiguracyjnego. Zadzwoń pod tym numerem podając
OPENSSL_CONF=/path/to/your/openssl.cnf openssl req ...
Nie martwiłbym się zbytnio ustawieniem CSR. Każdy dobry ośrodek CA powinien zignorować to, co ustawiłeś w CSR i ustawić tylko to, co faktycznie zweryfikowało podczas wystawiania faktycznego certyfikatu. Chętnie zastąpią dowolną RDN w Twoim DN podmiotu (np. Kraj, organizacja, ...), jak również każde rozszerzenie (SAN lub użycie klucza). Po pierwsze, jeśli pozwolą na jakiekolwiek przedłużenie zgodnie z wnioskiem w CSR wnioskodawcy, będzie to ryzyko bezpieczeństwa, ponieważ niektórzy wnioskodawcy mogą naprawdę coś dostać. Po drugie, w ten sposób zarabiają dodatkowe pieniądze, pobierając opłatę za ustawienie kilku bitów tu i tam (np. Rozszerzenie podpisywania kodu): upewnią się, że otrzymasz tylko to, za co zapłaciłeś w swoim certyfikacie. Rozumiem jednak, że możesz podać wszystkie nazwy, o które prosisz, w swoim CSR, aby być pewnym.
Prawdopodobnie więcej dla ServerFault: głosowano na ruch. – Bruno