2013-10-31 12 views
14

Próbuję załadować wiele certyfikatów przy użyciu openssl do formatu PKCS12. Polecenie jest następujące:Załaduj wiele certyfikatów do PKCS12 z openssl

openssl pkcs12 -export -in cert1.arm -inkey cert1_private_key.pem -certfile cert2.arm -certfile cert3.arm -certfile RootCert.pem -name "Test" -out test.p12 

Po analizowany wygenerowany plik pkcs12 tylko ostatni certyfikat został włączony do pliku:

openssl pkcs12 -in test.p12 -info -nodes 

Próbowałem też je importować osobno na chwilę plików pkcs12 we wszystkich próbach w pliku pozostał tylko ostatni certyfikat.

Każdy pomysł, gdzie jest problem, aby go rozwiązać?

Odpowiedz

17

Najpierw upewnij się, że wszystkie twoje certyfikaty są w formacie PEM. Następnie utwórz POJEDYNCZY plik o nazwie "certs.pem" zawierający pozostałe certyfikaty (cert2.arm, cert3.arm i RootCert.pem).

Następnie użyj polecenia tak:

openssl pkcs12 -export -in cert1.arm -inkey cert1_private_key.pem -certfile certs.pem -name "Test" -out test.p12 

Dokumentacja openssl pkcs12 wyjaśniono różne opcje.

+0

Czy mimo to można to zrobić automatycznie? Ręczne dodanie certyfikatów do pojedynczego pliku nie wydaje się praktyczne (jeśli chodzi o dodawanie/usuwanie certyfikatu z pliku PKCS12). –

+3

Można połączyć poszczególne pliki w połączony plik w tym samym wierszu polecenia, którego używa się do utworzenia pliku pkcs12. Na przykład w Windows: wpisz: cert2.arm cert3.arm RootCert.pem> combined.pem i openssl pkcs12 ... '. W systemie Linux/Unix można wykonać polecenie 'cat cert2.arm cert3.arm RootCert.pem> combined.pem; openssl pkcs12 ... ' – gtrig

Powiązane problemy