Wie kann ich eine p12-Datei mit einem privaten RSA-Schlüssel und einem selbstsignierten Zertifikat erstellen?

2117
FullStack

Ich glaube, dass das genaue Verfahren vor zwei Wochen für mich funktioniert hat, aber jetzt nicht. Ich beginne mit einem privaten RSA-Schlüssel rsa.pemund generiere mein eigenes selbstsigniertes Zertifikat:

openssl req -new -x509 -key rsa.pem -out rsa.cer 

dann versuche ich eine p12Datei zu erstellen :

openssl pkcs12 -export -out rsa.p12 -inkey rsa.pem -in rsa.cer 

aber ich erhalte nur die folgende meldung:

Usage: pkcs12 [options] where options are -export output PKCS12 file -chain add certificate chain -inkey file private key if not infile -certfile f add all certs in f -CApath arg - PEM format directory of CA's -CAfile arg - PEM format file of CA's -name "name" use name as friendly name -caname "nm" use nm as CA friendly name (can be used more than once). -in infile input filename -out outfile output filename -noout don't output anything, just verify. -nomacver don't verify MAC. -nocerts don't output certificates. -clcerts only output client certificates. -cacerts only output CA certificates. -nokeys don't output private keys. -info give info about PKCS#12 structure. -des encrypt private keys with DES -des3 encrypt private keys with triple DES (default) -seed encrypt private keys with seed -aes128, -aes192, -aes256 encrypt PEM output with cbc aes -camellia128, -camellia192, -camellia256 encrypt PEM output with cbc camellia -nodes don't encrypt private keys -noiter don't use encryption iteration -nomaciter don't use MAC iteration -maciter use MAC iteration -nomac don't generate MAC -twopass separate MAC, encryption passwords -descert encrypt PKCS#12 certificates with triple DES (default RC2-40) -certpbe alg specify certificate PBE algorithm (default RC2-40) -keypbe alg specify private key PBE algorithm (default 3DES) -macalg alg digest algorithm used in MAC (default SHA1) -keyex set MS key exchange type -keysig set MS key signature type -password p set import/export password source -passin p input file pass phrase source -passout p output file pass phrase source -engine e use engine e, possibly a hardware device. -rand file:file:... load the file (or the files in the directory) into the random number generator -CSP name Microsoft CSP name -LMK Add local machine keyset attribute to private key 

Ich folge nur den vorherigen Beiträgen:

https://stackoverflow.com/questions/38841563/create-rsacryptoserviceprovider-object- using-rsa-private-key-file-in-c-sharp

https://stackoverflow.com/questions/10994116/openssl-convert-pem-containing-only-rsa-private-key-to-pkcs12

0
Suchen Sie nach Unicode-Bindestrichen, wenn Sie den Befehl aus dem Browser kopiert haben. techraf vor 7 Jahren 1
Ich hätte nie gedacht, dass es das Problem war. Vielen Dank! FullStack vor 7 Jahren 0

1 Antwort auf die Frage

1
techraf

Wenn Sie einen Syntaxfehler (oder eine Verwendungshinweise) für einen scheinbar korrekten Befehl erhalten, den Sie von einem Webbrowser (nicht selbst eingegeben) kopiert haben, überprüfen Sie zunächst die nicht alphanumerischen Zeichen wie Anführungszeichen und Bindestriche.

Browser ersetzen sie heutzutage durch Unicode-Zeichen, die dem menschlichen Auge ähneln können, aber die Shell oder Programme verwirren.

Browser ersetzen _anything_ nicht. Bloggen / Veröffentlichen von Webapps ist jedoch häufig der Fall. grawity vor 7 Jahren 0
Danke, ich werde Ihren Beitrag berücksichtigen. OS X ersetzt diese Zeichen in der Benutzeroberfläche, aber ich bin jetzt nicht an der Konsole, um zu prüfen, ob es nur für die Eingabe ist oder ob die Anzeige auch betroffen ist. techraf vor 7 Jahren 0