Difference between revisions of "Certificaten"
(→Het Webhuis RootCA installeren) |
|||
(19 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Webhuis voorziet in eigen certificaten voor secured services. De traditionele encryptie gaat met SSL, maar sinds enige tijd is daar TLS. De Debian versie van toepassingen als openLDAP zijn sinds |
+ | Webhuis voorziet in eigen certificaten voor secured services. De traditionele encryptie gaat met Secure Socket Layer (SSL), maar sinds enige tijd is daar TLS. De Debian versie van toepassingen als openLDAP zijn sinds Lenny tegen Transport Layer Security (TLS) libriries gecompileerd.<br/> |
+ | Webhuis voorziet klanten van certificaten die zijn ondertekend door het RootCA van Webhuis. Bij gebruik van een browser verdient het de voorkeur om het RootCA van Webhuis te installeren als een "trusted Root Certificate".<br/> |
||
+ | Om de Webhuis certificaten goed te kunnen gebruiken is het verstandig om het [[RootCA]] te installeren. |
||
+ | = SSL of TLS = |
||
+ | TLS is in zekere zin de opvolger van SSL. TLS heeft twee belangrijke voordelen: |
||
+ | * Een belangrijk voordeel van TLS ten opzichte van SSL is dat TLS was in een open-community standard tot stand is gekoemn. TLS is backwards compatible, en bieden de mogelijkheid om SSL verbindingen te ondersteunen voor secure client connecties voor clients die alleen SSL snappen. |
||
+ | * TLS staat meerdere verbindingen toe, secure en niet secure over dezelfde poort. Je kunt dus meerdere secure websites op een en hetzelfde IP adres aanbieden. |
||
+ | == Testen van certificaten == |
||
+ | Certificaten bevatten eigenlijk niets anders dan een niets zeggend blok willekeurige cijfers en letters, waaruit in eerste aanzien niets valt op te maken. |
||
<pre> |
<pre> |
||
openssl x509 -in test.webhuis.nl.cert.pem -noout -text |
openssl x509 -in test.webhuis.nl.cert.pem -noout -text |
||
</pre> |
</pre> |
||
+ | Onderzoek of certificaat en key matchen: |
||
+ | <pre> |
||
+ | (openssl rsa -noout -modulus -in ldapm1.webhuis.nl.key-nopw.pem | openssl sha1 ;\ |
||
+ | openssl x509 -noout -modulus -in ldapm1.webhuis.nl.cert.pem | openssl sha1 ) | uniq |
||
+ | da39a3ee5e6b4b0d3255bfef95601890afd80709 |
||
+ | root@ldapm1:/etc/ldap/ssl# |
||
+ | </pre> |
||
+ | Het resultaat moet een enkele fingerprint zijn, de afgebeelde fingerprint is een voorbeeld dat niet hoort bij het certificaat. |
||
+ | |||
+ | == Certificaten maken == |
||
+ | <pre> |
||
+ | openssl req -new -days 2932 -key server.key -out server.csr -config openssl.cnf |
||
+ | |||
+ | openssl ca -config openssl.cnf -name -extensions v3_ca -out server.crt -infiles server.csr |
||
+ | |||
+ | Client certificate |
||
+ | openssl req -newkey rsa:1024 -keyout msimons.key -config openssl.cnf -out msimons.req |
||
+ | openssl ca -config openssl.cnf -out msimons.crt -infiles msimons.req |
||
+ | |||
+ | Host certificate |
||
+ | openssl req -newkey rsa:1024 -keyout webserver.key -nodes -config openssl.cnf -out webserver.req |
||
+ | |||
+ | openssl ca -config openssl.cnf -out webserver.crt -infiles webserver.req |
||
+ | </pre> |
||
+ | == Certificaten intrekken == |
||
+ | Het genereren van een CRL gaat als volgt: |
||
+ | openssl ca -gencrl -keyfile cakey.pem -cert cacert.pem -out cacrl.pem -crldays 30 |
||
+ | Het resultaat is een cacrl.pem dat 30 dagen geldig is. |
||
+ | |||
+ | Revoken: |
||
+ | openssl ca -revoke badcert.pem -keyfile cakey.pem -cert cacert.pem |
||
+ | Update can de CRL: |
||
+ | openssl ca -gencrl -config openssl.cnf -crldays 100 -out cacrl.pem |
||
+ | Denk eraan het bestand cacrl.pem te plaatsen op de URL uit de openssl.cnf |
||
+ | http://crl.webhuis.nl/cacrl.pem |
||
+ | Inspecteer de cetrificate revocation list met: |
||
+ | openssl crl -in cacrl.pem -noout -text |
||
+ | === website met revoked certificate === |
||
+ | https://testcrl.webhuis.nl |
||
+ | |||
+ | == Het Webhuis rootCA == |
||
+ | N.B. De werkelijke waarden zijn anders. |
||
+ | <pre> |
||
+ | martin@wbhs-ca:~$ mkdir -p CA/newcerts CA/private |
||
+ | |||
+ | martin@wbhs-ca:~/CA$ echo "0000001" > serial |
||
+ | martin@wbhs-ca:~/CA$ touch index.txt |
||
+ | martin@wbhs-ca:~/CA$ openssl req -new -x509 -newkey rsa:1024 -days 365 -extensions v3_ca -keyout private/cakey.pem \ |
||
+ | -out cacert.pem -config /etc/ssl/openssl.cnf |
||
+ | |||
+ | martin@wbhs-ca:~/CA$ openssl x509 -in cacert.pem -noout -text |
||
+ | Certificate: |
||
+ | Data: |
||
+ | Version: 3 (0x2) |
||
+ | Serial Number: |
||
+ | 8d:35:d9:3c:46:c3:cb:d2 |
||
+ | Signature Algorithm: sha1WithRSAEncryption |
||
+ | Issuer: C=NL, ST=Gelderland, L=Renkum, O=Webhuis, OU=pki, CN=Martin Simons/emailAddress=martin@webhuis.nl |
||
+ | Validity |
||
+ | Not Before: Apr 9 22:23:46 2012 GMT |
||
+ | Not After : Apr 9 22:23:46 2013 GMT |
||
+ | Subject: C=NL, ST=Gelderland, L=Renkum, O=Webhuis, OU=pki, CN=Martin Simons/emailAddress=martin@webhuis.nl |
||
+ | Subject Public Key Info: |
||
+ | Public Key Algorithm: rsaEncryption |
||
+ | </pre> |
||
+ | === Het Webhuis RootCA installeren === |
||
+ | Ga naar: |
||
+ | http://webhuis.nl/ssl/cacert.crt |
||
+ | En volg de instructies van de browser. |
||
<hr> |
<hr> |
||
Terug naar: [[Webhuis Infrastructuur]] |
Terug naar: [[Webhuis Infrastructuur]] |
Latest revision as of 20:35, 15 October 2012
Webhuis voorziet in eigen certificaten voor secured services. De traditionele encryptie gaat met Secure Socket Layer (SSL), maar sinds enige tijd is daar TLS. De Debian versie van toepassingen als openLDAP zijn sinds Lenny tegen Transport Layer Security (TLS) libriries gecompileerd.
Webhuis voorziet klanten van certificaten die zijn ondertekend door het RootCA van Webhuis. Bij gebruik van een browser verdient het de voorkeur om het RootCA van Webhuis te installeren als een "trusted Root Certificate".
Om de Webhuis certificaten goed te kunnen gebruiken is het verstandig om het RootCA te installeren.
Contents
SSL of TLS
TLS is in zekere zin de opvolger van SSL. TLS heeft twee belangrijke voordelen:
- Een belangrijk voordeel van TLS ten opzichte van SSL is dat TLS was in een open-community standard tot stand is gekoemn. TLS is backwards compatible, en bieden de mogelijkheid om SSL verbindingen te ondersteunen voor secure client connecties voor clients die alleen SSL snappen.
- TLS staat meerdere verbindingen toe, secure en niet secure over dezelfde poort. Je kunt dus meerdere secure websites op een en hetzelfde IP adres aanbieden.
Testen van certificaten
Certificaten bevatten eigenlijk niets anders dan een niets zeggend blok willekeurige cijfers en letters, waaruit in eerste aanzien niets valt op te maken.
openssl x509 -in test.webhuis.nl.cert.pem -noout -text
Onderzoek of certificaat en key matchen:
(openssl rsa -noout -modulus -in ldapm1.webhuis.nl.key-nopw.pem | openssl sha1 ;\ openssl x509 -noout -modulus -in ldapm1.webhuis.nl.cert.pem | openssl sha1 ) | uniq da39a3ee5e6b4b0d3255bfef95601890afd80709 root@ldapm1:/etc/ldap/ssl#
Het resultaat moet een enkele fingerprint zijn, de afgebeelde fingerprint is een voorbeeld dat niet hoort bij het certificaat.
Certificaten maken
openssl req -new -days 2932 -key server.key -out server.csr -config openssl.cnf openssl ca -config openssl.cnf -name -extensions v3_ca -out server.crt -infiles server.csr Client certificate openssl req -newkey rsa:1024 -keyout msimons.key -config openssl.cnf -out msimons.req openssl ca -config openssl.cnf -out msimons.crt -infiles msimons.req Host certificate openssl req -newkey rsa:1024 -keyout webserver.key -nodes -config openssl.cnf -out webserver.req openssl ca -config openssl.cnf -out webserver.crt -infiles webserver.req
Certificaten intrekken
Het genereren van een CRL gaat als volgt:
openssl ca -gencrl -keyfile cakey.pem -cert cacert.pem -out cacrl.pem -crldays 30
Het resultaat is een cacrl.pem dat 30 dagen geldig is.
Revoken:
openssl ca -revoke badcert.pem -keyfile cakey.pem -cert cacert.pem
Update can de CRL:
openssl ca -gencrl -config openssl.cnf -crldays 100 -out cacrl.pem
Denk eraan het bestand cacrl.pem te plaatsen op de URL uit de openssl.cnf
http://crl.webhuis.nl/cacrl.pem
Inspecteer de cetrificate revocation list met:
openssl crl -in cacrl.pem -noout -text
website met revoked certificate
https://testcrl.webhuis.nl
Het Webhuis rootCA
N.B. De werkelijke waarden zijn anders.
martin@wbhs-ca:~$ mkdir -p CA/newcerts CA/private martin@wbhs-ca:~/CA$ echo "0000001" > serial martin@wbhs-ca:~/CA$ touch index.txt martin@wbhs-ca:~/CA$ openssl req -new -x509 -newkey rsa:1024 -days 365 -extensions v3_ca -keyout private/cakey.pem \ -out cacert.pem -config /etc/ssl/openssl.cnf martin@wbhs-ca:~/CA$ openssl x509 -in cacert.pem -noout -text Certificate: Data: Version: 3 (0x2) Serial Number: 8d:35:d9:3c:46:c3:cb:d2 Signature Algorithm: sha1WithRSAEncryption Issuer: C=NL, ST=Gelderland, L=Renkum, O=Webhuis, OU=pki, CN=Martin Simons/emailAddress=martin@webhuis.nl Validity Not Before: Apr 9 22:23:46 2012 GMT Not After : Apr 9 22:23:46 2013 GMT Subject: C=NL, ST=Gelderland, L=Renkum, O=Webhuis, OU=pki, CN=Martin Simons/emailAddress=martin@webhuis.nl Subject Public Key Info: Public Key Algorithm: rsaEncryption
Het Webhuis RootCA installeren
Ga naar:
http://webhuis.nl/ssl/cacert.crt
En volg de instructies van de browser.
Terug naar: Webhuis Infrastructuur