Umwandeln von Zertifikaten: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
=Client name setzen=
 +
*COMMONNAME="client"
 
=Umwandlung von pem in PKCS12 Format=
 
=Umwandlung von pem in PKCS12 Format=
 
==Mit CA certifikat==
 
==Mit CA certifikat==
*openssl pkcs12 -export -in cert.pem -inkey key.pem -certfile ca.crt -out cred.p12
+
*openssl pkcs12 -export -in $COMMONNAME.crt -inkey $COMMONNAME.key -certfile ca.crt -out $COMMONNAME.p12
 
==Ohne CA certifikat==
 
==Ohne CA certifikat==
*openssl pkcs12 -export -in cert.pem -inkey key.pem -out cred.p12
+
*openssl pkcs12 -export -in $COMMONNAME.crt -inkey $COMMONNAME.key -out $COMMONNAME.p12
=Umwandlung von PKCS12 ins pem Format=
+
=Umwandlung von PKCS12 ins PEM Format=
 
Um Windows Zertifikate unter Linux/openssl verwenden zu können, müssen aus der keyfile.p12-Datei die x509 Zertifikate exportiert werden.
 
Um Windows Zertifikate unter Linux/openssl verwenden zu können, müssen aus der keyfile.p12-Datei die x509 Zertifikate exportiert werden.
*openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12
+
*openssl pkcs12 -clcerts -nokeys -out "$COMMONNAME.crt" -in "$COMMONNAME.p12"
*openssl pkcs12 -cacerts -nokeys -out root.pem -in cert.p12
+
*openssl pkcs12 -cacerts -nokeys -out ca.crt -in "$COMMONNAME.p12"
*openssl pkcs12 -nocerts -out private-key.pem -in cert.p12
+
*openssl pkcs12 -nocerts -out "$COMMONNAME.key" -in "$COMMONNAME.p12"
  
=Jetzt können diese wieder verwendet werden.===
+
=Umwandlung von PKCS7 ins PEM Format=
*openssl x509 -text -noout -md5 -in private-key.pem
+
*openssl pkcs7 -in cacert.p7b -inform DER -print_certs -out cacert.pem
*openssl x509 -text -noout -md5 -in root.pem
 
*openssl x509 -text -noout -md5 -in cert.pem
 
  
===pkcs12 Container entpacken===
+
=Creating a PKCS7=
====Ca.crt====
+
*openssl crl2pkcs7 -nocrl -certfile cert1.cer -certfile cert2.cer -out outfile.p7b
root@hutze:~/p12# openssl pkcs12  -cacerts -nomacver -nokeys -in <pkcs12-datei> -out <ca.crt>
+
=Umwandeln von DER -> PEM=
 
+
*openssl x509  -inform der -in $COMMONNAME.der -out $COMMONNAME.crt
====Client.crt====
+
=Links=
root@hutze:~/p12# openssl pkcs12 -clcerts -nomacver -nokeys -in <pkcs12-datei> -out <client.crt>
+
*https://knowledge.digicert.com/solution/SO26449.html
====Client.key====
 
 
 
root@hutze:~/p12# openssl pkcs12  -nocerts -nodes -nomacver -in <pkcs12-datei> -out <client.key>
 
 
 
====Script====
 
#!/bin/bash
 
if test "$#" -eq "2"
 
then 
 
  openssl pkcs12 -in $1 -cacerts -nomacver -nokeys -out ca.crt    -password pass:"$2"
 
  openssl pkcs12 -in $1 -clcerts -nomacver -nokeys -out client.crt -password pass:"$2"
 
  openssl pkcs12 -in $1 -nocerts -nodes -nomacver -out  client.key -password pass:"$2"
 
else
 
  echo "$0 <dat.p12> <password>"
 
fi
 
 
 
=reqext in $CLIENT.cnf=
 
[ server-ext ]
 
extendedKeyUsage = serverAuth, 1.3.6.1.5.5.8.2.2
 
subjectAltName = DNS:huey.xinux.org
 
==request==
 
openssl req -new -key ${CLIENT}.key -out ${CLIENT}.csr -config ${CLIENT}.cnf -reqexts  server-ext
 
 
 
==show==
 
openssl req -text -noout -in huey.xinux.org.csr | grep -A 4 "Requested Extensions"
 
<pre>
 
        Requested Extensions:
 
            X509v3 Extended Key Usage:
 
                TLS Web Server Authentication
 
            X509v3 Subject Alternative Name:
 
                DNS:huey.xinux.org
 
 
 
</pre>
 
 
 
==sign==
 
openssl x509 -CA ca.crt -CAkey ca.key -CAserial serial -sha1 -in $COMMON_NAME.csr -req -out $COMMON_NAME.crt -extfile $COMMON_NAME.cnf -extensions server-ext
 
==show==
 
openssl x509 -noout -text -in huey.xinux.org.crt
 
<pre>
 
openssl x509 -noout -text -in huey.xinux.org.crt  | grep -A 4 "X509v3 extensions"
 
        X509v3 extensions:
 
            X509v3 Extended Key Usage:
 
                TLS Web Server Authentication
 
            X509v3 Subject Alternative Name:
 
                DNS:huey.xinux.org
 
 
 
</pre>
 

Aktuelle Version vom 28. Juli 2022, 09:58 Uhr

Client name setzen

  • COMMONNAME="client"

Umwandlung von pem in PKCS12 Format

Mit CA certifikat

  • openssl pkcs12 -export -in $COMMONNAME.crt -inkey $COMMONNAME.key -certfile ca.crt -out $COMMONNAME.p12

Ohne CA certifikat

  • openssl pkcs12 -export -in $COMMONNAME.crt -inkey $COMMONNAME.key -out $COMMONNAME.p12

Umwandlung von PKCS12 ins PEM Format

Um Windows Zertifikate unter Linux/openssl verwenden zu können, müssen aus der keyfile.p12-Datei die x509 Zertifikate exportiert werden.

  • openssl pkcs12 -clcerts -nokeys -out "$COMMONNAME.crt" -in "$COMMONNAME.p12"
  • openssl pkcs12 -cacerts -nokeys -out ca.crt -in "$COMMONNAME.p12"
  • openssl pkcs12 -nocerts -out "$COMMONNAME.key" -in "$COMMONNAME.p12"

Umwandlung von PKCS7 ins PEM Format

  • openssl pkcs7 -in cacert.p7b -inform DER -print_certs -out cacert.pem

Creating a PKCS7

  • openssl crl2pkcs7 -nocrl -certfile cert1.cer -certfile cert2.cer -out outfile.p7b

Umwandeln von DER -> PEM

  • openssl x509 -inform der -in $COMMONNAME.der -out $COMMONNAME.crt

Links