Felhasználói eszközök

Eszközök a webhelyen


Oldalsáv

Index menü


Tagek listája

Szavak listája

tudasbazis:linux:openssl

OpenSSL

SSL Cert authority

Cert generátor

openssl.sh
#!/bin/bash
if [ $# -ne 2 ]; then
    echo "Usage: openssl.sh <dir> <key size>"
    exit 1
fi
 
 
# Creating CA private key
#openssl genrsa -out "$1/ca.key"
 
# Creating CA private key and cert
openssl req -newkey rsa:$2 -nodes -keyout "$1/ca.key" -new -x509 -days 3650 -out "$1/ca.pem"
 
# Creating RSA cert request
openssl req -newkey rsa:$2 -nodes -keyout "$1/rsa.key" -new -days 1825 -out "$1/rsareq.pem"
# Creating RSA cert with the previusly created request
openssl x509 -days 1825 -CA "$1/ca.pem" -CAkey "$1/ca.key" -req -CAcreateserial -in "$1/rsareq.pem" -out "$1/rsa.pem"
 
# Verifying new cert with the root key
openssl verify -CAfile "$1/ca.pem" "$1/rsa.pem"
 
# Checking details
openssl x509 -text -noout -in "$1/ca.key"
openssl x509 -text -noout -in "$1/rsa.key"

Egy soros self-signed cert generátor

  • CA certhez:
    openssl req -nodes -new -x509 -days 3650 -out 'selfsigned_cert.pem' -newkey rsa:2048 -keyout 'selfsigned_key.pem' -subj '/C=HU/ST=Hungary/L=Budapest/CN=ssl.test'

    vagy

    openssl req -nodes -new -extensions 'v3_ca' -x509 -days 3650 -out 'selfsigned_cert.pem' -newkey rsa:2048 -keyout 'selfsigned_key.pem' -subj '/C=HU/ST=Hungary/L=Budapest/CN=ssl.test'
  • nem CA certhez:
    openssl req -nodes -new -extensions 'usr_cert' -x509 -days 3650 -out 'selfsigned_cert.pem' -newkey rsa:2048 -keyout 'selfsigned_key.pem' -subj '/C=HU/ST=Hungary/L=Budapest/CN=ssl.test'
Az elérhető kiegészítők (extension-ök) listáját a /etc/ssl/openssl.cnf fájl tartalmazza.

Cert chain

Fontos a sorrend! Server, CA1, CA2, …, RootCA

CA lista bővítése

  1. CA cert másolása a /usr/local/share/ca-certificates/ mappába .crt kiterjesztéssel!
  2. Linkelés és fingerprint generálás:
    sudo update-ca-certificates

Fingerprint kézi generálása

  • Az /etc/ssl/ könyvtárban lévő fingerprintek újragenerálása:
    c_rehash
  • Vagy tetszőleges mappában lévő certek fingerprintjeinek újragenerálása:
    c_rehash '/etc/ssl/xxx'

Kliens-szerver teszt

Szerver

  • Mezítlábas szerver:
    openssl s_server -accept <portszám> -key <ssl kulcs> -cert <ssl cert>
  • Egy kis debug infóval:
    openssl s_server -accept <portszám> -key <ssl kulcs> -cert <ssl cert> -state
  • Cert ellenőrzéssel:
    openssl s_server -accept <portszám> -key <ssl kulcs> -cert <ssl cert> -state -CApath <CA certeket tartalmazó mappa> -verify <max ellenőrzési rekurzió>

Kliens

  • Mezítlábas kliens:
    openssl s_client -connect <cél IP>:<cél port> -key <ssl kulcs> -cert <ssl cert>

Böngészős plugines titkosítás

EVP Bytes

TSA cert

  • Beállítás:
    openssl.conf
    ...
    [ tsa_cert ]
    extendedKeyUsage = critical,timeStamping
    ...
  • Tanúsítvány kérelem generálása:
    openssl req \
        -nodes \
        -newkey rsa:2048 \
        -keyout timestamp.key \
        -new \
        -reqexts tsa_cert \
        -set_serial 0 \
        -out timestamp.csr
tudasbazis/linux/openssl.txt · Utolsó módosítás: 2021.01.19 13:24 szerkesztette: tia