Op het Internet kan een website over HTTPS bereikt worden waarbij het verkeer gecodeerd wordt en de identiteit van de server gegarandeerd wordt. In e-mailverkeer kunnen e-mails via S/MIME worden gecodeerd en voorzien van digitale handtekeningen. Hiervoor is wel een beveiligingscertificaat nodig, zoals de mijne. Hieronder zal ik uitleggen hoe u met OpenSSL voor uw eigen website en e-mailadres zo’n certificaat kunt maken.
Eerst moet u de cryptografische software OpenSSL hebben. U kunt dit los van de website of gebundeld met de Apache-serversoftware downloaden. In dit laatste geval staat openssl.exe in de map bin en het configuratiebestand in de map conf.
OpenSSL wordt aangestuurt vanuit de opdrachtprompt. Open hierin de map waarin openssl.exe staat en voer de volgende commando’s uit.
F:\privesleutel.pem) en de moduluslengte in bits (4096) zijn naar keuze.
openssl genrsa -out "F:\privesleutel.pem" 4096 Loading 'screen' into random state - done Generating RSA private key, 4096 bit long modulus .......................................................................................................................++ ............................................................++ e is 65537 (0x10001)
F:\aanvraag.csr) is naar keuze. Zorg dat de config-parameter (openssl.cnf) naar het configuratiebestand van OpenSSL verwijst (er kan een pad worden ingevoerd). OpenSSL vraag vervolgens om aanvullende informatie. Bij Common Name moet de hostnaam van de server (*.example.com) worden ingevuld waarvoor het certificaat geldig is. Dit moet gebeuren zoals bezoekers die in hun adresbalk typen. Het sterretje betekent in dit geval dat het certificaat voor alle subdomeinen geldig is. Bij Email Address moet het e-mailadres (jantje@example.com) worden ingevuld waarvoor het certificaat geldig is. De ‘extra attributen’ kunnen leeg worden gelaten.
openssl req -new -key "F:\privesleutel.pem" -out "F:\aanvraag.csr" -config "openssl.cnf" Loading 'screen' into random state - done You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:NL State or Province Name (full name) [Some-State]:Noord-Holland Locality Name (eg, city) []:Amsterdam Organization Name (eg, company) [Internet Widgits Pty Ltd]:Jan Janssen Organizational Unit Name (eg, section) []:. Common Name (eg, YOUR name) []:*.example.com Email Address []:jantje@example.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
365) en de bestandsnaam van het certificaat (F:\certificaat.crt) zijn naar keuze.
openssl x509 -req -days 365 -in "F:\aanvraag.csr" -signkey "F:\privesleutel.pem" -out "F:\certificaat.crt" Loading 'screen' into random state - done Signature ok subject=/C=NL/ST=Noord-Holland/L=Amsterdam/O=Jan Janssen/CN=*.example.com/emailAddress=jantje@example.com Getting Private key
openssl pkcs12 -export -out "F:\sleutelpaar.pfx" -in "F:\certificaat.crt" -inkey "F:\privesleutel.pem" Loading 'screen' into random state - done Enter Export Password: Verifying - Enter Export Password:
Alle is nu klaar voor gebruik. Geef — uitsluitend — F:\certificaat.crt aan iedereen die beveiligd met u wil communiceren. Dit certificaat moeten zij installeren in hun browser en e-mailprogramma om uw server via HTTPS te bezoeken respectievelijk e-mailverkeer met u te kunnen beveiligen.
Voeg zelf de volgende code aan httpd.conf toe om HTTPS-ondersteuning in uw Apache-webserver aan te zetten:
LoadModule ssl_module modules/mod_ssl.so Listen 443 SSLRandomSeed startup builtin SSLRandomSeed connect builtin <VirtualHost _default_:443> SSLEngine On SSLCertificateFile "F:/certificaat.crt" SSLCertificateKeyFile "F:/privesleutel.pem" </VirtualHost>
Importeer zelf F:\sleutelpaar.pfx in uw e-mailprogramma om digitale handtekeningen te kunnen zetten en ontvangen e-mails te kunnen ontcijferen.
Er zijn nog geen reacties. Wees de eerste.