tls.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Sun, 08 Nov 2020 09:14:06 +0200
changeset 2451 892004bd19bb
parent 2450 3e1990dc6ac8
child 2453 5bb8692c080a
permissions -rw-r--r--
PKCS#12 stores.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2450
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
==========
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
 SSL, TLS
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
==========
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
.. contents::
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
   :local:
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
2451
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
     8
Generate private keys
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
     9
=====================
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
    10
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
    11
Generate RSA key (last argument is a key bit size)::
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
    12
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
    13
  openssl genrsa -des3 -out my.key -passout pass:123456 2048
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
    14
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
    15
Generate DSA key::
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
    16
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
    17
  openssl gendsa -out my.key -passout pass:123456 <(openssl dsaparam 512)
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
    18
2450
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
Generate a self-signed certificate
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
==================================
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
``openssl`` allows to generate self-signed certificate by a single command (``-newkey``
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
instructs to generate a private key and ``-x509`` instructs to issue a self-signed
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
certificate instead of a signing request)::
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
  openssl req -x509 -newkey rsa:4096 \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
    -keyout my.key -passout pass:123456 -out my.crt \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
    -days 365 \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
    -subj /CN=localhost/O=home/C=US/emailAddress=me@mail.internal \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
    -addext "subjectAltName = DNS:localhost,DNS:web.internal,email:me@mail.internal" \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
    -addext keyUsage=digitalSignature -addext extendedKeyUsage=serverAuth
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
You can generate a private key and construct a self-signing certificate in separate steps::
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
  openssl genrsa -out my.key -passout pass:123456 2048
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
  openssl req -x509 \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
    -key my.key -passin pass:123456 -out my.csr \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
    -days 3650 \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
    -subj /CN=localhost/O=home/C=US/emailAddress=me@mail.internal \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
    -addext "subjectAltName = DNS:localhost,DNS:web.internal,email:me@mail.internal" \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
    -addext keyUsage=digitalSignature -addext extendedKeyUsage=serverAuth
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
Review the resulting certificate::
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    46
  openssl x509 -text -noout -in my.crt
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    47
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    48
.. note::
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    49
   With ``openssl`` we can add an extra step:
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    50
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    51
   * generate private key (``openssl genrsa``)
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    52
   * generate CSR (``openssl req -new``)
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    53
   * sign CSR with private key (``openssl x509``)
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    54
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    55
   The problem here is that ``openssl x509`` doesn't support ``-addext`` like option so we
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    56
   need to craft a config file... Of cause with Bash syntax ``<(...)`` we can add required
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    57
   extensions::
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    58
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    59
     openssl genrsa -out my.key -passout pass:123456 2048
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    60
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    61
     openssl req -new \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    62
       -key my.key -passin pass:123456 -out my.csr \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    63
       -subj /CN=localhost/O=home/C=US/emailAddress=me@mail.internal
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    64
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    65
     openssl x509 -req \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    66
       -in my.csr -signkey my.key -passin pass:123456 -out my.crt \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    67
       -days 3650 -CAcreateserial \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    68
       -extensions v3_ca \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    69
       -extfile <( \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    70
         echo "[v3_ca]"; \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    71
         echo "extendedKeyUsage=serverAuth"; \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    72
         echo "subjectAltName=DNS:localhost,DNS:web.internal,email:me@mail.internal")
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    73
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    74
Java ``keytool`` creates PKCS#12 store::
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    75
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    76
  keytool -genkeypair -keystore my.p12 -alias master \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    77
    -storetype pkcs12 -keyalg RSA -keysize 2048 -validity 3650 \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    78
    -storepass 123456 \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    79
    -dname "CN=localhost,O=home,C=US" \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    80
    -ext 'san=dns:localhost,dns:web.internal,email:me@mail.internal'
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    81
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    82
To export the self-signed certificate::
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    83
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    84
  keytool -exportcert -keystore my.p12 -file my.crt \
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    85
    -alias master -rfc -storepass 123456
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    86
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    87
Review the resulting certificate::
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    88
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    89
  keytool -printcert -file my.crt
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    90
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    91
https://stackoverflow.com/questions/10175812/how-to-create-a-self-signed-certificate-with-openssl/64733092#64733092
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    92
  How to create a self-signed certificate with OpenSSL.
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    93
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    94
Verify self-signed certificate
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    95
==============================
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    96
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    97
Use a private key and corresponding self-signed certificate to launch a server::
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    98
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    99
  openssl s_server -accept 8000 -www -key my.key -cert my.crt
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   100
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   101
Clients should use self-signed certificate for verification::
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   102
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   103
  echo | openssl s_client -servername localhost -connect localhost:8000 -CAfile my.crt
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   104
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   105
  curl -v --cacert my.crt https://localhost:8000
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   106
3e1990dc6ac8 Generate a self-signed certificate.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   107
There is no certificate chain so the check is trivial for self-signed certificates...
2451
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   108
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   109
PKCS#12 stores
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   110
==============
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   111
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   112
PKCS#12 store keeps private keys and certificates, to combine a private key and certificates into the store::
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   113
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   114
  openssl pkcs12 -export -in my.crt -inkey my.key -certfile other.crt -out my.p12 -name master
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   115
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   116
To export a private key to PKCS#8 format (has header ``BEGIN PRIVATE KEY`` or ``BEGIN ENCRYPTED
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   117
PRIVATE KEY``)::
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   118
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   119
  openssl pkcs12 -info -nocerts -in my.p12 -passin pass:123456 -nodes
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   120
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   121
To extract private key and convert to PKCS#1 format (has header ``BEGIN RSA PRIVATE KEY`` or ``BEGIN
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   122
DSA PRIVATE KEY``)::
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   123
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   124
  openssl pkcs12 -info -nocerts -in my.p12 -passin pass:123456 -nodes | openssl rsa
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   125
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   126
To show private key info::
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   127
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   128
  openssl pkcs12 -info -nocerts -in my.p12 -passin pass:123456 -nodes | openssl rsa -text -noout
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   129
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   130
To show certificat info::
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   131
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   132
  openssl pkcs12 -info -nokeys -in my.p12 -passin pass:123456
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   133
  openssl pkcs12 -info -nokeys -in my.p12 -passin pass:123456 | openssl x509 -text -noout
892004bd19bb PKCS#12 stores.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2450
diff changeset
   134