# server certificate signing request and private key. Note the very long subject (for MDEV-7859)
openssl req -newkey rsa:4096 -keyout server-key.pem -out demoCA/server-req.pem -days 7300-nodes -subj '/CN=localhost/C=FI/ST=state or province within country, in other certificates in this file it is the same as L/L=location, usually an address but often ambiguously used/OU=organizational unit name, a division name within an organization/O=organization name, typically a company name' # convert the key to yassl compatible format
openssl rsa -in server-key.pem -out server-key.pem # also create a password-protected server key echo MySecretPass > encrypted-server-key-password.txt
openssl rsa -aes256 -in server-key.pem -out encrypted-server-key.pem -passout file:encrypted-server-key-password.txt # sign the server certificate with CA certificate
openssl ca -keyfile cakey.pem -days 7300 -batch -cert cacert.pem -policy policy_anything -out server-cert.pem -in demoCA/server-req.pem
# server certificate with different validity period (MDEV-16266) and unsafe for shell interpolation (MDEV-39413)
openssl req -newkey rsa:4096 -keyout server-new-key.pem -out demoCA/server-new-req.pem -days 7301 -nodes -subj /CN="'\`touch A\`'"'-"`touch B`"/C=FI/ST=Helsinki/L=Helsinki/O=MariaDB'
openssl rsa -in server-new-key.pem -out server-new-key.pem
openssl ca -keyfile cakey.pem -days 7301 -batch -cert cacert.pem -policy policy_anything -out server-new-cert.pem -in demoCA/server-new-req.pem
rm -rf demoCA # --- Galera SST chain certificate --- # A single leaf+intermediate chain certificate usable as both client and # server (a Galera node acts as SST donor and joiner), CN=localhost so the # donor's host check passes over 127.0.0.1. The CA file holds the root only, # the layout produced by cert-manager and similar PKIs. rm -rf gcadir
mkdir gcadir
openssl genrsa -out gcadir/root.key 4096
openssl req -new -x509 '-sha256' -key gcadir/root.key -out galera-chain-ca.pem -days 7300 -subj "/O=MariaDB/OU=MariaDB/CN=Galera Chain Root CA" -addext "basicConstraints=critical,CA:TRUE" -addext "keyUsage=critical,keyCertSign,cRLSign"
openssl genrsa -out gcadir/int.key 4096
openssl req -new '-sha256' -key gcadir/int.key -out gcadir/int.csr -subj "/O=MariaDB/OU=MariaDB/CN=Galera Chain Intermediate CA"
openssl x509 -req -in gcadir/int.csr -CA galera-chain-ca.pem -CAkey gcadir/root.key -CAcreateserial -days 7200 -sha256 -extfile <(printf "basicConstraints=critical,CA:TRUE,pathlen:0\nkeyUsage=critical,keyCertSign,cRLSign") -out gcadir/int.crt
openssl genrsa -out galera-chain-key.pem 4096
openssl req -new '-sha256' -key galera-chain-key.pem -out gcadir/leaf.csr -subj "/CN=localhost"
openssl x509 -req -in gcadir/leaf.csr -CA gcadir/int.crt -CAkey gcadir/int.key -CAcreateserial -days 7100 -sha256 -extfile <(printf "basicConstraints=CA:FALSE\nkeyUsage=critical,digitalSignature,keyEncipherment\nextendedKeyUsage=serverAuth,clientAuth\nsubjectAltName=DNS:localhost,IP:127.0.0.1") -out gcadir/leaf.crt cat gcadir/leaf.crt gcadir/int.crt > galera-chain-cert.pem rm -rf gcadir
# --- Certificate Chain --- # These tests are inspired from the following commit from MySQL Server # https://github.com/mysql/mysql-server/commit/969afef933f1872c5f38ea93047ef05c4509c335 # # Credits to salman.s.khan@oracle.com # # ------------------------------------------------------------------------------------- # # STEPS TO GENERATE THE FOLLOWING CHAINED CERTIFICATES WHICH IS USED IN THE TEST CASE : # # +---------+ # | Root CA | # +---------+ # | # /------------+-----------\ # | | # +------------------+ +------------------+ # | Intermediate CA1 | | Intermediate CA2 | # +------------------+ +------------------+ # | | # +-------------+ +-------------+ # | Server | | Client | # | certificate | | certificate | # +-------------+ +-------------+
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.