To jest polecenie x509ssl, które można uruchomić w bezpłatnym dostawcy hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
x509 — narzędzie do wyświetlania i podpisywania certyfikatów
STRESZCZENIE
openssl x509 [-poinformować DER|PEM|NETTO] [-forma DER|PEM|NETTO] [-klawisz DER|PEM] [-CAform
DER|PEM] [-CAklucz DER|PEM] [-W filename] [-na zewnątrz filename] [-seryjny] [-haszysz]
[-hash_przedmiotu] [-hasz_wydawcy] [-ocspid] [-Przedmiot] [-emitent] [-nazwa opt opcja] [-e-mail]
[-ocsp_uri] [-Data rozpoczęcia] [-Data końcowa] [-cel, powód] [-Daktyle] [-punkt kontrolny num] [-moduł]
[-klucz pubowy] [-odcisk palca] [-Alias] [-nie] [-zaufanie] [-clrttrust] [-odrzuć] [-dodaj zaufanie
arg] [-adres arg] [-setalia arg] [-dni arg] [-set_serial n] [-klucz znakowy filename]
[-przechodzą w arg] [-x509torekw] [-wymaganie] [-AC filename] [-Klucz filename] [-CAtwórz serial]
[-CAserial filename] [-force_pubkey klucz] [-tekst] [-pewno opcja] [-C]
[-md2|-md5|-sha1|-mdc2] [-clext] [-rozszerz filename] [-rozszerzenia Sekcja] [-silnik id]
OPIS
x509 polecenie to wielofunkcyjne narzędzie do obsługi certyfikatów. Można go używać do wyświetlania
informacje o certyfikacie, konwertowanie certyfikatów do różnych formularzy, podpisywanie żądań certyfikatów
jak „mini CA” lub edytuj ustawienia zaufania certyfikatów.
Ponieważ istnieje duża liczba opcji, zostaną one podzielone na różne sekcje.
OPCJE
WEJŚCIE, WYDAJNOŚĆ ROLNICZE GENERAŁ CEL OPCJE
-poinformować DER|PEM|NETTO
Określa format wejściowy, w którym zwykle polecenie będzie oczekiwać certyfikatu X509
ale może się to zmienić, jeśli inne opcje, takie jak -wymaganie są obecni. Format DER to
Kodowanie DER certyfikatu i PEM to kodowanie base64 kodowania DER
z dodanymi liniami nagłówka i stopki. Opcja NET to mało znany serwer Netscape
formacie, który jest już przestarzały.
-forma DER|PEM|NETTO
Określa format wyjściowy, opcje mają takie samo znaczenie, jak -poinformować
opcja.
-W filename
Określa nazwę pliku wejściowego, z którego ma zostać odczytany certyfikat lub standardowe wejście, jeśli tak
opcja nie jest określona.
-na zewnątrz filename
Określa nazwę pliku wyjściowego do zapisu lub domyślnie standardowe wyjście.
-md2|-md5|-sha1|-mdc2
skrót do wykorzystania. Ma to wpływ na każdą opcję podpisywania lub wyświetlania korzystającą z komunikatu
przetrawić, np -odcisk palca, -klucz znakowy oraz -AC opcje. Jeśli nie określono, wówczas SHA1
Jest używane. Jeśli klucz używany do podpisywania jest kluczem DSA, ta opcja nie jest dostępna
efekt: SHA1 jest zawsze używany z kluczami DSA.
-silnik id
określenie silnika (poprzez jego unikatowe id ciąg) spowoduje x509 próbować uzyskać
funkcjonalne odniesienie do określonego silnika, tym samym inicjując go w razie potrzeby. ten
silnik zostanie wtedy ustawiony jako domyślny dla wszystkich dostępnych algorytmów.
DISPLAY OPCJE
Zanotuj -Alias oraz -cel, powód Opcje są również opcjami wyświetlania, ale są opisane w
ZAUFANIE USTAWIENIA
-tekst
drukuje certyfikat w formie tekstowej. Wyświetlane są pełne szczegóły, łącznie z opinią publiczną
klucz, algorytmy podpisu, nazwa wystawcy i podmiotu, numer seryjny, ewentualne rozszerzenia
obecne i wszelkie ustawienia zaufania.
-pewno opcja
dostosować używany format wyjściowy -tekst, opcja argument może być pojedynczy
opcję lub wiele opcji oddzielonych przecinkami. The -pewno przełącznik też może być
użyte więcej niż raz, aby ustawić wiele opcji. Zobacz TEKST OPCJE sekcja po więcej
informacje.
-nie
ta opcja uniemożliwia wyświetlenie zakodowanej wersji żądania.
-klucz pubowy
wyprowadza blok SubjectPublicKeyInfo certyfikatu w formacie PEM.
-moduł
opcja ta wypisuje wartość modułu klucza publicznego zawartego w pliku
certyfikat.
-seryjny
wyświetla numer seryjny certyfikatu.
-hash_przedmiotu
wyświetla „hash” nazwy podmiotu certyfikatu. Jest to używane w OpenSSL do tworzenia pliku
indeks, aby umożliwić wyszukiwanie certyfikatów w katalogu według nazwy podmiotu.
-hasz_wydawcy
wyświetla „hash” nazwy wystawcy certyfikatu.
-ocspid
wyprowadza wartości skrótu OCSP dla nazwy podmiotu i klucza publicznego.
-haszysz
synonim „-subject_hash” ze względu na kompatybilność wsteczną.
-temat_hash_stary
wyświetla „hash” nazwy podmiotu certyfikatu, używając starszego algorytmu
przez wersje OpenSSL starsze niż 1.0.0.
-emiser_hash_old
wyświetla „hash” nazwy wystawcy certyfikatu przy użyciu starszego algorytmu używanego przez
Wersje OpenSSL starsze niż 1.0.0.
-Przedmiot
wyświetla nazwę podmiotu.
-emitent
wyświetla nazwę wystawcy.
-nazwa opt opcja
opcja określająca sposób wyświetlania nazwy podmiotu lub emitenta. The opcja
argumentem może być pojedyncza opcja lub wiele opcji oddzielonych przecinkami.
Alternatywnie -nazwa opt przełącznika można użyć więcej niż raz, aby ustawić wiele opcji.
Zobacz IMIĘ OPCJE sekcja po więcej informacji.
wyświetla adresy e-mail, jeśli istnieją.
-ocsp_uri
wyświetla adresy odpowiedzi OCSP, jeśli istnieją.
-Data rozpoczęcia
drukuje datę początkową certyfikatu, czyli datę notBefore.
-Data końcowa
drukuje datę ważności certyfikatu, czyli datę notAfter.
-Daktyle
drukuje datę rozpoczęcia i wygaśnięcia certyfikatu.
-punkt kontrolny arg
sprawdza, czy certyfikat wygaśnie w ciągu następnego arg sekund i wychodzi z wartości niezerowej if
tak, wygaśnie lub zero, jeśli nie.
-odcisk palca
drukuje skrót wersji całego certyfikatu zakodowanej w DER (patrz: streszczenie
opcje).
-C powoduje to wyświetlenie certyfikatu w postaci pliku źródłowego C.
ZAUFANIE USTAWIENIA
Należy pamiętać, że te opcje są obecnie eksperymentalne i mogą ulec zmianie.
A zaufany świadectwo jest zwykłym certyfikatem, który posiada kilka dodatkowych elementów
dołączone do niego informacje, takie jak dozwolone i zabronione zastosowania certyfikatu
i „alias”.
Zwykle podczas weryfikacji certyfikatu co najmniej jeden certyfikat musi być „zaufany”.
Domyślnie zaufany certyfikat musi być przechowywany lokalnie i musi być głównym urzędem certyfikacji: dowolny
Łańcuch certyfikatów kończący się w tym urzędzie certyfikacji można następnie wykorzystać do dowolnego celu.
Ustawienia zaufania są obecnie używane tylko w przypadku głównego urzędu certyfikacji. Umożliwiają lepszą kontrolę nad
celów, do których można używać głównego urzędu certyfikacji. Na przykład urząd certyfikacji może być zaufany w przypadku klienta SSL, ale
a nie użycie serwera SSL.
Zobacz opis zweryfikować narzędzie, aby uzyskać więcej informacji na temat znaczenia zaufania
ustawienia.
Przyszłe wersje OpenSSL będą rozpoznawać ustawienia zaufania na każdym certyfikacie: nie tylko root
CA.
-zaufanie
to powoduje x509 wyprowadzić a zaufany certyfikat. Zwykły lub zaufany certyfikat
można wprowadzić, ale domyślnie wyprowadzany jest zwykły certyfikat i wszelkie ustawienia zaufania
są odrzucane. Z -zaufanie opcja wyprowadzany jest zaufany certyfikat. Zaufany
certyfikat jest automatycznie generowany w przypadku modyfikacji jakichkolwiek ustawień zaufania.
-setalia arg
ustawia alias certyfikatu. Umożliwi to powoływanie się na certyfikat
używając pseudonimu, na przykład „Certyfikat Steve’a”.
-Alias
wyświetla alias certyfikatu, jeśli istnieje.
-clrttrust
usuwa wszystkie dozwolone lub zaufane zastosowania certyfikatu.
-odrzuć
usuwa wszystkie zabronione lub odrzucone zastosowania certyfikatu.
-dodaj zaufanie arg
dodaje użycie zaufanego certyfikatu. Można tu użyć dowolnej nazwy obiektu, ale tylko obecnie
uwierzytelnianie klienta (użycie klienta SSL), serwerAuth (Korzystanie z serwera SSL) i e-mailOchrona (S/MIME
e-mail) są używane. Inne aplikacje OpenSSL mogą definiować dodatkowe zastosowania.
-adres arg
dodaje zabronione użycie. Akceptuje te same wartości co -dodaj zaufanie opcja.
-cel, powód
ta opcja przeprowadza testy rozszerzeń certyfikatów i wyświetla wyniki. Dla
pełniejszy opis można znaleźć w CERTYFIKAT ROZSZERZENIA
PODPISYWANIE OPCJE
x509 Narzędzie może być używane do podpisywania certyfikatów i żądań: może więc zachowywać się jak a
„mini CA”.
-klucz znakowy filename
ta opcja powoduje, że plik wejściowy jest podpisywany automatycznie przy użyciu dostarczonego klucza prywatnego.
Jeśli plik wejściowy jest certyfikatem, ustawia nazwę wystawcy na nazwę podmiotu (tj
sprawia, że jest on podpisany samodzielnie) zmienia klucz publiczny na podaną wartość i zmienia
daty rozpoczęcia i zakończenia. Datą początkową jest ustawiona godzina bieżąca, a datą końcową
do wartości określonej przez -dni opcja. Wszelkie rozszerzenia certyfikatów zostaną zachowane
dopóki -clext opcja jest dostarczana.
Jeśli danymi wejściowymi jest żądanie certyfikatu, tworzony jest certyfikat z podpisem własnym za pomocą
dostarczony klucz prywatny, używając nazwy podmiotu w żądaniu.
-przechodzą w arg
źródło hasła klucza. Aby uzyskać więcej informacji na temat formatu arg zobacz PASS
WYRAŻENIE ARGUMENTY sekcja w openssl(1).
-clext
usuń wszelkie rozszerzenia z certyfikatu. Ta opcja jest używana, gdy certyfikat jest
tworzone z innego certyfikatu (na przykład z rozszerzeniem -klucz znakowy albo -AC
opcje). Zwykle wszystkie rozszerzenia są zachowywane.
-klawisz PEM|DER
określa format (DER lub PEM) pliku klucza prywatnego używanego w pliku -klucz znakowy opcja.
-dni arg
określa liczbę dni, przez które certyfikat ma być ważny. Wartość domyślna to 30 dni.
-x509torekw
konwertuje certyfikat na żądanie certyfikatu. The -klucz znakowy opcja służy do przejścia
wymagany klucz prywatny.
-wymaganie
domyślnie na wejściu oczekiwany jest certyfikat. Dzięki tej opcji żądanie certyfikatu
zamiast tego oczekuje się.
-set_serial n
określa numer seryjny, którego należy użyć. Opcji tej można używać zarówno z -klucz znakowy
or -AC opcje. W przypadku użycia w połączeniu z -AC opcję pliku numeru seryjnego (jako
określone przez -CAserial or -CAtwórz serial opcje) nie jest używany.
Numer seryjny może być dziesiętny lub szesnastkowy (jeśli jest poprzedzony przez 0x). Ujemne numery seryjne
można również określić, ale ich użycie nie jest zalecane.
-AC filename
określa certyfikat urzędu certyfikacji, który ma być używany do podpisywania. Gdy ta opcja jest dostępna x509
zachowuje się jak „mini CA”. Plik wejściowy jest podpisywany przez ten urząd certyfikacji przy użyciu tej opcji: that
nazwa wystawcy jest ustawiona na nazwę podmiotu urzędu certyfikacji i jest podpisana cyfrowo
przy użyciu klucza prywatnego urzędu certyfikacji.
Ta opcja jest zwykle łączona z -wymaganie opcja. Bez -wymaganie opcja
dane wejściowe to certyfikat, który musi być podpisany samodzielnie.
-Klucz filename
ustawia klucz prywatny urzędu certyfikacji, za pomocą którego będzie podpisywany certyfikat. Jeśli ta opcja nie jest określona
wówczas zakłada się, że klucz prywatny urzędu certyfikacji znajduje się w pliku certyfikatu urzędu certyfikacji.
-CAserial filename
ustawia używany plik numeru seryjnego urzędu certyfikacji.
Podczas -AC Opcja służy do podpisania certyfikatu, w którym wykorzystuje numer seryjny określony w
plik. Plik ten składa się z jednej linii zawierającej parzystą liczbę cyfr szesnastkowych z rozszerzeniem
numer seryjny, którego należy użyć. Po każdym użyciu numer seryjny jest zwiększany i zapisywany
ponownie do pliku.
Domyślna nazwa pliku składa się z podstawowej nazwy pliku certyfikatu urzędu certyfikacji z rozszerzeniem „.srl”
dołączony. Na przykład, jeśli plik certyfikatu urzędu certyfikacji nosi nazwę „mycacert.pem”, oczekuje
aby znaleźć plik numeru seryjnego o nazwie „mycacert.srl”.
-CAtwórz serial
przy tej opcji tworzony jest plik numeru seryjnego CA, jeśli nie istnieje: będzie
zawierać numer seryjny „02”, a podpisywany certyfikat będzie miał cyfrę 1
numer seryjny. Zwykle, jeśli -AC opcja jest określona i plik numeru seryjnego tak
nie istnieje. Jest to błąd.
-rozszerz filename
plik zawierający rozszerzenia certyfikatów do użycia. Jeśli nie określono, nie ma żadnych rozszerzeń
dodany do certyfikatu.
-rozszerzenia Sekcja
sekcja, z której należy dodać rozszerzenia certyfikatów. Jeżeli ta opcja nie jest określona to
rozszerzenia powinny znajdować się w sekcji bez nazwy (domyślnej) lub w pliku
sekcja domyślna powinna zawierać zmienną o nazwie „rozszerzenia”, która zawiera rozszerzenie
sekcja do wykorzystania. Zobacz x509v3_config(5) strona podręcznika zawierająca szczegółowe informacje na temat rozszerzenia
format sekcji.
-force_pubkey klucz
po utworzeniu certyfikatu ustaw jego klucz publiczny na klucz zamiast klucza w
certyfikat lub żądanie certyfikatu. Opcja ta jest przydatna przy tworzeniu certyfikatów
gdzie algorytm normalnie nie może podpisywać żądań, na przykład DH.
Format lub klucz można określić za pomocą -klawisz opcja.
IMIĘ OPCJE
nazwaopt przełącznik wiersza poleceń określa sposób wyświetlania nazwy podmiotu i wystawcy.
Jeśli nie nazwaopt przełącznik jest obecny, używany jest domyślny format „oneline”, który jest kompatybilny
z poprzednimi wersjami OpenSSL. Poniżej szczegółowo opisano każdą opcję, wszystkie opcje
może być poprzedzony a - aby wyłączyć tę opcję. Zwykle używane będą tylko pierwsze cztery.
kompatybil
użyj starego formatu. Jest to równoznaczne z nieokreślaniem żadnych opcji nazw.
RFC2253
wyświetla nazwy zgodne z odpowiednikiem RFC2253 esc_2253, esc_ctrl, esc_msb,
utf8, zrzut_nostr, zrzut_nieznany, zrzut_der, sep_comma_plus, dn_rew oraz zdejmuje.
jedna linia
format jednoliniowy, który jest bardziej czytelny niż RFC2253. Jest to równoznaczne z określeniem
dotychczasowy esc_2253, esc_ctrl, esc_msb, utf8, zrzut_nostr, zrzut_der, użyj_cytatu,
sep_comma_plus_space, równanie przestrzeni oraz zdejmuje opcje.
multiline
formacie wielowierszowym. To jest równoważne esc_ctrl, esc_msb, sep_multiline, równanie przestrzeni, Imię
oraz wyrównać.
esc_2253
To znaczy uciec od „specjalnych” znaków wymaganych przez RFC2253 w polu ,+"<>;.
do tego # jest znakiem ucieczki na początku łańcucha i znakiem spacji na
początek lub koniec ciągu.
esc_ctrl
Ucieczka ze znaków kontrolnych. To znaczy te, których wartości ASCII są mniejsze niż 0x20 (spacja) i
znak usuwania (0x7f). Są one ucieczki przy użyciu notacji RFC2253 \XX (gdzie XX
to dwie cyfry szesnastkowe reprezentujące wartość znaku).
esc_msb
znaki ucieczki z zestawem MSB, czyli z wartościami ASCII większymi niż 127.
użyj_cytatu
powoduje ucieczkę od niektórych znaków, otaczając cały ciąg znaków " znaków, bez
opcja cała ucieczka odbywa się za pomocą \ znaków.
utf8
najpierw przekonwertuj wszystkie ciągi na format UTF8. Jest to wymagane przez RFC2253. Jeśli jesteś
mam szczęście, że mam terminal zgodny z UTF8, wówczas użycie tej opcji (i nie
ustawienie esc_msb) może skutkować poprawnym wyświetlaniem wartości wielobajtowych (międzynarodowych)
postacie. Jeśli ta opcja nie jest dostępna, wówczas znaki wielobajtowe są większe niż 0xff
będzie reprezentowany w formacie \UXXXX dla 16 bitów i \WXXXXXXXXXX dla 32 bitów.
Również jeśli ta opcja jest wyłączona, wszelkie ciągi UTF8Strings zostaną przekonwertowane na ich formę znakową
pierwszy.
typ_ignorowania
ta opcja nie próbuje w żaden sposób interpretować znaków wielobajtowych. To jest
ich oktety zawartości są po prostu odrzucane, tak jakby jeden oktet reprezentował każdy znak.
Jest to przydatne do celów diagnostycznych, ale daje dość dziwnie wyglądające dane wyjściowe.
pokaż_typ
pokaż typ ciągu znaków ASN1. Typ poprzedza zawartość pola. Dla
przykład „BMPSTRING: Witaj świecie”.
zrzut_der
gdy ta opcja jest ustawiona, wszelkie pola, które wymagają zrzutu szesnastkowego, zostaną zrzucone przy użyciu metody
Kodowanie DER pola. W przeciwnym razie zostaną wyświetlone tylko oktety zawartości. Obydwa
opcje korzystają z RFC2253 #XXXX... Format.
zrzut_nostr
zrzuć typy łańcuchów innych niż znakowe (na przykład ŁAŃCUCH OCTET), jeśli ta opcja nie jest ustawiona
wówczas typy łańcuchów innych niż znakowe będą wyświetlane tak, jak każdy oktet treści
reprezentuje pojedynczy znak.
zrzut_wszystko
zrzuć wszystkie pola. Ta opcja jest używana z zrzut_der pozwala na kodowanie DER
Konstrukcję należy jednoznacznie określić.
zrzut_nieznany
zrzuć dowolne pole, którego OID nie jest rozpoznawany przez OpenSSL.
sep_comma_plus, sep_comma_plus_space, sep_semi_plus_space, sep_multiline
opcje te określają separatory pól. Pierwszy znak znajduje się pomiędzy nazwami RDN i
drugi pomiędzy wieloma AVA (wiele AVA jest bardzo rzadkich, a ich użycie jest
zniechęcony). Opcje kończące się na „spacja” dodatkowo umieszczają spację po
separator, aby był bardziej czytelny. The sep_multiline używa znaku nowego wiersza dla
separator RDN i odstęp + dla separatora AVA. Wcina również pola według
cztery znaki. Jeśli nie określono separatora pól, wówczas sep_comma_plus_space służy
domyślnie.
dn_rew
odwrócić pola nazwy wyróżniającej. Jest to wymagane przez RFC2253. Jako efekt uboczny to również
odwraca kolejność wielu AVA, ale jest to dopuszczalne.
nofname, zdejmuje, Imię, oid
opcje te zmieniają sposób wyświetlania nazwy pola. nofname nie wyświetla
pole w ogóle. zdejmuje używa formy „nazwy krótkiej” (na przykład CN dla nazwy zwyczajowej). Imię
używa długiej formy. oid reprezentuje OID w formie numerycznej i jest przydatny do
cel diagnostyczny.
wyrównać
wyrównaj wartości pól, aby uzyskać bardziej czytelne dane wyjściowe. Można używać tylko z sep_multiline.
równanie przestrzeni
umieszcza spacje wokół = znak następujący po nazwie pola.
TEKST OPCJE
Oprócz dostosowania formatu wyjściowego nazwy, możliwe jest również dostosowanie rzeczywistego formatu nazwy
pola drukowane przy użyciu certopt opcje, gdy XNUMX opcja jest obecna. Domyślny
zachowanie polega na wydrukowaniu wszystkich pól.
zgodny
użyj starego formatu. Jest to równoznaczne z nieokreślaniem żadnych opcji wyjściowych.
bez nagłówka
nie drukuj informacji nagłówka: są to linie „Certyfikat” i „Dane”.
brak_wersji
nie drukuj numeru wersji.
nr_serial
nie drukuj numeru seryjnego.
brak_sygnału
nie drukuj użytego algorytmu podpisu.
brak_ważności
nie drukuj ważności, to jest nie przed oraz nie później pola.
brak tematu
nie drukuj nazwy tematu.
brak_wystawcy
nie drukuj nazwy emitenta.
no_pubkey
nie drukuj klucza publicznego.
no_sigdump
nie podawaj szesnastkowego zrzutu podpisu certyfikatu.
nie_pomoc
nie drukuj informacji o zaufaniu certyfikatu.
brak_rozszerzeń
nie drukuj żadnych rozszerzeń X509V3.
ext_domyślny
zachowaj domyślne zachowanie rozszerzenia: spróbuj wydrukować nieobsługiwany certyfikat
rozszerzenia.
błąd_zew
wydrukuj komunikat o błędzie dotyczący nieobsługiwanych rozszerzeń certyfikatów.
analiza_zew
ASN1 analizuje nieobsługiwane rozszerzenia.
ext_dump
hex dump nieobsługiwane rozszerzenia.
ca_default
wartość używana przez ca użyteczność, odpowiednik brak_wystawcy, no_pubkey, bez nagłówka,
brak_wersji, no_sigdump oraz brak_sygnału.
PRZYKŁADY
Uwaga: w tych przykładach „\” oznacza, że cały przykład powinien znajdować się w jednej linii.
Wyświetl zawartość certyfikatu:
openssl x509 -in cert.pem -noout -tekst
Wyświetl numer seryjny certyfikatu:
openssl x509 -in cert.pem -noout -serial
Wyświetl nazwę podmiotu certyfikatu:
openssl x509 -in cert.pem -noout -temat
Wyświetl nazwę podmiotu certyfikatu w formularzu RFC2253:
openssl x509 -in cert.pem -noout -temat -nameopt RFC2253
Wyświetl nazwę podmiotu certyfikatu w formie jednowierszowej na terminalu obsługującym UTF8:
openssl x509 -in cert.pem -noout -subject -nameopt oneline, -esc_msb
Wyświetl odcisk palca MD5 certyfikatu:
openssl x509 -in cert.pem -noout -odcisk palca
Wyświetl odcisk palca SHA1 certyfikatu:
openssl x509 -sha1 -in cert.pem -noout -odcisk palca
Konwertuj certyfikat z formatu PEM na DER:
openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER
Konwertuj certyfikat na żądanie certyfikatu:
openssl x509 -x509toreq -in cert.pem -out req.pem -signkey klucz.pem
Konwertuj żądanie certyfikatu na certyfikat z podpisem własnym, korzystając z rozszerzeń dla urzędu certyfikacji:
openssl x509 -req -w careq.pem -extfile openssl.cnf -extensions v3_ca \
-signkey klucz.pem -out cacert.pem
Podpisz żądanie certyfikatu, korzystając z powyższego certyfikatu CA i dodaj certyfikat użytkownika
rozszerzenia:
openssl x509 -req -in req.pem -extfile openssl.cnf -extensions v3_usr \
-CA cacert.pem -CAkey klucz.pem -CAcreateserial
Ustaw certyfikat jako zaufany do użytku przez klienta SSL i zmień jego alias na „Steve's
Klasa 1 CA”
openssl x509 -in cert.pem -addtrust clientAuth \
-setalias "Steve's Class 1 CA" -out trust.pem
UWAGI
W formacie PEM używane są linie nagłówka i stopki:
-----POCZĄTEK CERTYFIKATU-----
-----KONIEC CERTYFIKATU-----
będzie również obsługiwać pliki zawierające:
-----ROZPOCZNIJ CERTYFIKAT X509-----
-----KONIEC CERTYFIKATU X509-----
Zaufane certyfikaty mają pewne linie
-----ROZPOCZNIJ ZAUFANY CERTYFIKAT-----
-----KONIEC ZAUFANY CERTYFIKAT-----
Konwersja do formatu UTF8 używana z opcjami nazw zakłada, że T61Strings używają
Zestaw znaków ISO8859-1. Jest to błędne podejście, ale Netscape i MSIE tak postępują, podobnie jak wiele innych
certyfikaty. Więc chociaż jest to nieprawidłowe, jest bardziej prawdopodobne, że wyświetli większość
certyfikaty poprawnie.
-odcisk palca opcja pobiera skrót certyfikatu zakodowanego w formacie DER. To jest powszechnie
zwany „odciskiem palca”. Ze względu na charakter wiadomości trawi odcisk palca
certyfikat jest unikalny dla tego certyfikatu i dwóch certyfikatów z tym samym odciskiem palca
można uznać za to samo.
Odcisk palca Netscape wykorzystuje MD5, podczas gdy MSIE używa SHA1.
-e-mail Opcja przeszukuje nazwę podmiotu i alternatywne rozszerzenie nazwy podmiotu.
Wydrukowane zostaną tylko unikalne adresy e-mail: ten sam adres nie będzie drukowany więcej
niż raz
CERTYFIKAT ROZSZERZENIA
-cel, powód opcja sprawdza rozszerzenia certyfikatów i określa, jakiego certyfikatu dotyczy
można używać do. Rzeczywiste kontrole są dość złożone i obejmują różne hacki i
obejścia problemu z uszkodzonymi certyfikatami i oprogramowaniem.
Ten sam kod jest używany podczas weryfikacji niezaufanych certyfikatów w łańcuchach, więc ta sekcja jest
przydatne, jeśli łańcuch zostanie odrzucony przez kod weryfikacyjny.
Flaga rozszerzenia basicConstraints CA służy do określenia, czy certyfikat może być
używany jako urząd certyfikacji. Jeśli flaga CA ma wartość true, oznacza to, że jest to urząd certyfikacji, jeśli flaga CA jest fałszywa, oznacza to, że tak
nie urząd certyfikacji. Wszystkie produkty Urzędy certyfikacji powinny mieć flagę urzędu certyfikacji ustawioną na wartość true.
Jeżeli nie ma rozszerzenia basicConstraints, wówczas certyfikat uznawany jest za:
„możliwy CA” pozostałe rozszerzenia sprawdzane są zgodnie z przeznaczeniem
certyfikat. W tym przypadku pojawia się ostrzeżenie, ponieważ certyfikat tak naprawdę nie powinien być
uważany za urząd certyfikacji: jednakże dopuszcza się, aby był to urząd certyfikacji w celu obejścia niektórych uszkodzonych programów.
Jeśli certyfikat jest certyfikatem V1 (a więc nie ma rozszerzeń) i jest samopodpisany
zakłada się również, że jest to urząd certyfikacji, ale ponownie pojawia się ostrzeżenie: należy to obejść
problem korzeni Verisign, które są certyfikatami z podpisem własnym V1.
Jeśli obecne jest rozszerzenie keyUsage, nakładane są dodatkowe ograniczenia na użycie
certyfikat. Certyfikat CA musi mieć ustawiony bit keyCertSign, jeśli keyUsage
rozszerzenie jest obecne.
Rozszerzone rozszerzenie użycia klucza nakłada dodatkowe ograniczenia na użycie certyfikatu.
Jeśli to rozszerzenie jest obecne (krytyczne lub nie), klucza można używać tylko do
określone cele.
Poniżej znajduje się pełny opis każdego testu. Komentarze na temat basicConstraints
i do których mają zastosowanie powyższe certyfikaty keyUsage i V1 cała kolekcja Certyfikaty CA.
SSL klientem
Rozszerzone rozszerzenie użycia klucza musi być nieobecne lub zawierać plik „web client
uwierzytelnianie” OID. keyUsage musi być nieobecne lub musi mieć bit digitalSignature
ustawić. Typ certyfikatu Netscape musi być nieobecny lub musi mieć ustawiony bit klienta SSL.
SSL klientem CA
Rozszerzone rozszerzenie użycia klucza musi być nieobecne lub zawierać plik „web client
uwierzytelnianie” OID. Typ certyfikatu Netscape musi być nieobecny lub musi posiadać SSL
Zestaw bitów CA: służy do obejścia problemu w przypadku braku rozszerzenia basicConstraints.
SSL
Rozszerzenie rozszerzonego użycia klucza musi być nieobecne lub zawierać rozszerzenie „web serwer
uwierzytelnianie” i/lub jeden z identyfikatorów OID SGC. KeyUsage musi być nieobecny lub musi go mieć
digitalSignature, zestaw keyEncipherment lub ustawione oba bity. Certyfikat Netscape'a
typ musi być nieobecny lub mieć ustawiony bit serwera SSL.
SSL CA
Rozszerzenie rozszerzonego użycia klucza musi być nieobecne lub zawierać rozszerzenie „web serwer
uwierzytelnianie” i/lub jeden z identyfikatorów OID SGC. Typ certyfikatu Netscape musi być nieobecny
lub musi być ustawiony bit SSL CA: jest to używane jako obejście, jeśli basicConstraints
brak rozszerzenia.
Netscape SSL
Aby klienci Netscape SSL mogli łączyć się z serwerem SSL, musi on mieć kluczKeyEncipherment
bit ustawiony, jeśli obecne jest rozszerzenie keyUsage. Nie zawsze jest to prawdą, ponieważ niektórzy
zestawy szyfrów używają klucza do podpisu cyfrowego. W przeciwnym razie jest tak samo jak zwykle
Serwer SSL.
wspólny S / MIME klientem Testy
Rozszerzone rozszerzenie użycia klucza musi być nieobecne lub zawierać identyfikator OID „ochrony poczty e-mail”.
Typ certyfikatu Netscape musi być nieobecny lub powinien mieć ustawiony bit S/MIME. Jeśli
Bit S/MIME nie jest ustawiony w typie certyfikatu Netscape, a bit klienta SSL jest ustawiony
tolerowane jako alternatywa, ale wyświetlane jest ostrzeżenie: dzieje się tak, ponieważ niektóre Verisign
certyfikaty nie ustawiają bitu S/MIME.
S / MIME podpisanie
Oprócz typowych testów klienta S/MIME, należy ustawić bit digitalSignature if
rozszerzenie keyUsage jest obecne.
S / MIME Szyfrowanie
Oprócz typowych testów S/MIME, bit keyEncipherment musi być ustawiony, jeśli
Rozszerzenie keyUsage jest obecne.
S / MIME CA
Rozszerzone rozszerzenie użycia klucza musi być nieobecne lub zawierać identyfikator OID „ochrony poczty e-mail”.
Typ certyfikatu Netscape musi być nieobecny lub musi mieć ustawiony bit S/MIME CA: to jest
używane jako obejście, jeśli nie ma rozszerzenia basicConstraints.
C.R.L. podpisanie
Rozszerzenie keyUsage musi być nieobecne lub musi mieć ustawiony bit podpisu listy CRL.
C.R.L. podpisanie CA
Obowiązują normalne testy CA. Z wyjątkiem tego przypadku rozszerzenie basicConstraints musi mieć postać
prezent.
Używaj x509ssl online, korzystając z usług onworks.net