2013-06-13 9 views
23

wiem, można określić cel, dla którego certyfikat klucza publicznego może być używany przez dodanie odpowiedniego wiersza jak ten w openssl.cfg pliku:OpenSSL x509v3 Rozszerzona Key Usage

extendedKeyUsage=serverAuth,clientAuth 

ale ponieważ Mam kilka certyfikatów do utworzenia, każdy z innym rozszerzonym użyciem klucza, czy można określić, który atrybut jest mi potrzebny w wierszu poleceń (bez użycia pliku openssl.cfg)? Coś jak:

openssl req -newkey rsa:4096 \ 
      -extendedKeyUsage "serverAuth,clientAuth" \ 
      -keyform PEM \ 
      -keyout server-key.pem \ 
      -out server-req.csr \ 
      -outform PEM 

Dzięki!

Odpowiedz

8

Co skończyło się robi tworzy kilka różnych plików openssl.cfg i odnoszą się do właściwego korzystania przez jednego albo -config lub przełącznik -extfile.

+3

możesz chcieć "zaakceptować" swoją własną odpowiedź (więc nie pojawi się jako pytanie bez odpowiedzi) –

24

można używać tylko coś takiego:

openssl -extensions mysection -config myconfig.cnf 

i myconfig.cnf:

[mysection] 
keyUsage   = digitalSignature 
extendedKeyUsage = codeSigning 

nie jestem świadomy interfejs wiersza poleceń do tej funkcjonalności.

+1

Otrzymuję to: 'nie mogę znaleźć 'distinguished_name' w konfiguracji' –

+0

@MarinosAn, podana konfiguracja zawiera tylko części istotne dla pytania. Być może będziesz musiał podać kilka dodatkowych parametrów. To wykracza poza zakres pierwotnego pytania. – patrikbeno