====== eigen SSL certficaat aanmaken======
[[ssl:ssl|{{ :ssl:ssl-encryption.png?120|}}]]
===== context=====
dit document beschrijft hoe je een eigen SSL certificaat aanmaakt op Windows.
===== OpenSSL=====
* installeer openssl ''choco install openssl''
* verkenner: ''C:\Program Files\OpenSSL-Win64\tests\start''
===== private key aanmaken voor je server=====
- ''cd /home/ca''
- maak een private key paar aan voor de CA openssl genrsa -des3 -out server.key 2048
- geef een sterk wachtwoord op
- dit maakt 1 (tekst)bestand aan: ''server.key'' met vergelijkbare inhoud: -----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQI2g3AahkapWYCAggA
MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECBXvOoLtreyKBIIEyL01u/JxcHru
c7lEPudjbJCqu/hJXV17YX0znE7qZ990ZuVZanQ0hs/bfmPv3Qi2bGQ2odpWZCQ2
9cLXJDgziwKWo+P1L89lhShrLkOJN8lnVMMnQWxbtp1ryci+qKwZ4bgFpztzBZ98
JD3yGnSwo4xu6XfpIm0QR8ycprHTrzzUzvLO7jDAhvMYryN5dpfgBk4ntYyfufOG
KwVg4YKNGfLC9B19ol6DU5kgj2ION6r2HFTS0Pjd2VX5+TkeczHW8nfG/A+t601E
6N90dvkUTigAkhB4LXKteABkalzDWlsgPX37pbEnMwZli+uVCI6xkaTUR37iYjzR
gL2+hpg6C93snJPZ48ap19b1grqG5T1nw1QE2axXePW5IXAZ7HXI5zsgFk5/uyNl
...
OmpWkBcKd90qHc/uWa4eI+KvARNA5mlgG9vZHZehojWcpYFbRvID6TjcXn+VXuNm
BG2RNOX2StY8sUWt8dzJ/TjD50dBvrDwVeOnIBehAY+yTt5dr5JSWm6TBIIWJwZL
jKV1cI1Ssriz7OmkPDuOdJIVIjYf13C+d+MiID8GLlGH0KzMpvBBDFPQwA+oAfS5
sxehyfGJPl3Bk3AUFOXtPQ==
-----END ENCRYPTED PRIVATE KEY-----
bewaar deze sleutel veilig want hiermee wordt later de SSL communiatie mee opgezet!
achteraf kan je dit bestand inlezen ahv openssl rsa -text -in server.key -noout
===== certificate signing request voor de server aanmaken=====
==== Certificate Signing Request aanmaken====
- maak een CSR (certificate signing request) aan: openssl req -verbose -new -key server.key -out server.csr -sha256
- geef het wachtwoord van je private key op
- geef voldoende relevante informatie op voor de DN (distinghuished name) van je server.
- dit maakt 1 (tekst)bestand aan: ''server.CA.csr'' met vergelijkbare inhoud: -----BEGIN CERTIFICATE REQUEST-----
MIIC3zCCAccCAQAwgZkxCzAJBgNVBAYTAkJFMRgwFgYDVQQIDA9Pb3N0LVZsYWFu
ZGVyZW4xEjAQBgNVBAcMCU1lcmVsYmVrZTESMBAGA1UECgwJTG91J3MgTGFiMQww
CgYDVQQLDANERVYxETAPBgNVBAMMCExvdSdzIENBMScwJQYJKoZIhvcNAQkBFhhr
b2VuLnZleXNAcHJvdG9ubWFpbC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQCQ5q5BSgwaeo/Y/q/CfOki7vhTnTzfkVetvwrysolC73kEmXuRwPnN
oJMRWKWNbXNM9u7tLQkUIJSndTl5UzW3S1ohbWwaYNtngColiAIQWgqIrYLhM0wk
CTgHektH72NkBTbbaDzLkbfkC/U/PXv53xPwoGZ1R0NWJD+PbnfLEdL641VNN0li
...
AQEAIvVJfZyiLgxfECHa2mvoMtyV8rj+aY2B6QL0/Xn/r/P+9Q8eYx76A56I+Gu4
hpSdnC75lEvQoFwK1IhktmDZxU3e6Y1eKO2sYs12hI1uL8rGywDNNObpy7BGiwT5
mpwqy3K+TpMq9DbItWugNlRDwIRj5YoRnvo4397wYWvMUPI+jQZBDxHZdokjNraN
AElE41j/JkJugykIviqNHUkJJ6awZLm2SqjUS2U7xE2inBKyC1VMlxuhDAcuzITK
Eafih+llrgOmgS9Z4Rkvo6ZJ7PPCk7l6AkE5kvAjKDFJpFZX3QL0Ic9xHu0N/Uda
PG9fpY3t/jujWmLz/5AvgSEyIg==
-----END CERTIFICATE REQUEST-----
achteraf kan je dit bestand inlezen ahv openssl req -text -in server.csr -noout
{{ :ssl:lan_000195.png?400 |}}
==== tekenen van CA certificate====
- teken het certificate signing request: openssl ca -extensions v3_ca -out server.CA-signed.crt -keyfile server.CA.key -verbose -selfsign -md sha256 -enddate 330630235959Z -infiles server.CA.csr
- enddate formaat: YYMMDDHHMMSSZ
- geef wachtwoord van je private key in
- bevestig de info (uit het csr) {{ :ssl:lan_000178.png?400 |}}
- volgend bestande bestanden worden aangemaakt:
- /newcerts/1000.pem
- /serial.old en /serial
- /server.CA-signed.crt
Je kan het CA certificaat inlezen ahv openssl x509 -noout -text -in server.CA-signed.crt
Hiermee heb je een werkende CA die csr kan ondertekenen.\\
Bovenstaand werk kan ook wat eenvoudiger door [[https://easy-rsa.readthedocs.io/en/latest/|easy-rsa]]
===== meer info=====
- https://www.wikihow.com/Be-Your-Own-Certificate-Authority
- [[https://www.howtouselinux.com/post/openssl-command-to-generate-view-check-certificate|Check SSL Certificate with OpenSSL in Linux]]
{{tag>ssl}}