login  Naam:   Wachtwoord: 
Registreer je!
 Tutorials

Tutorials > Webserver


Gegevens:
Geschreven door:
Wave6
Moeilijkheidsgraad:
Gemakkelijk
Hits:
40508
Punten:
Aantal punten:
 (4.5)
Aantal stemmen:
4
Stem:
Niet ingelogd
Nota's:
 Lees de nota's (13)
 

Tutorial:

SSL Certificaat maken en ondertekenen

OpenSSL tutorial

OpenSSL Certificaat maken en zelf ondertekenen

Deze tutorial is samengesteld uit het boek SSL and TLS! ik heb hier slechts enkele
voorbeelden uitgebruikt. Met name de config file en het ondertekenen.

INDEX:
  1. Wat is een SSL certificaat
  2. Een makkelijk begin
  3. CA Certificaat maken
  4. Certificaat Ondertekenen

1. Wat is een SSL Certificaat?

SSL staat voor Secure Socket Layer en is een protocol voor een beveiligde verbinding.
je ziet wel is een pagina waar "https://" Voor staat in plaats van "http://"
Dat zie je vooral op pagina's waar internet betalingen overgeboekt worden.
Of formulieren waar persoonlijke gegevens worden gevraagd.
Het nut daarvan is dat de gegevens nooit vrijgegeven worden aan iemand anders.


2. Een makkelijk begin

Download openSSL hier en installeer hem.
Zorg ervoor dat het op de C:/ schijf geinstalleerd wordt.
Dus je mappen structuur op je C schijf zou er zo uit moeten zien C:/Openssl
Ga nu naar Configuratiescherm -> systeem -> geavanceerd -> Omgevings Variabelen
Nu zie je onderin het dialoog venster Systeemvariabelen en voeg dit C:Opensslin toe aan het systeem path
als het goed is heet die variabele PATH.
ga nu naar je C:/ schijf en maak een nieuwe Werkmap aan dat ssl heet.
Nu ziet je C:/ schijf er zo uit C:/ssl
Ga naar het CMD venster en ga naar C:/ssl.
Nu je daar bent aangekomen typ je de volgende commands

md certs
md requests
md keys

copy con database.txt
^Z

copy con serial.txt
01
^z
De oude DOS veteranen zullen deze manier van werken wel herkennen die Ctrl+Z zorgt ervoor dat je een leeg bestandje krijgt genaamd database.txt
copy con serial.txt met name voor stijn1989 die hierbij een error kreeg.
de error was dat zijn ssl venster de nummer uit serial.txt niet kon halen. Maar ik had het eerder wat foutief uit gelegd dat probleem zou nu dan ook
Opgelost moeten zijn na dat je die 01 erin heb gezet
Belangrijk!!:Dat ^z is een CTRL+Z geen shift+6+z !! onthoud dat!
Nu download je hier(ik heb hem zelf aangepast dus er kunnen natuurlijk nog wel foutjes in zitten maar hier werkt ie prima) de config file en die sla je op als openssl.conf in de map ssl
Het is uiterst belangrijk dat je dat bestandje download en opslaat als openssl.conf in de map ssl!!!!!
Nu heb je een hele nieuwe werkmap het is eigenlijk overbodig maar het maakt heel veel dingen een stuk makkelijker!


MET WERKMAP BEDOEL IK TE ZEGGEN EEN MAP WAAR JE DE CERTIFICATEN AUTOMATISCH IN OPSLAAT EN DAT SOORT DINGEN EN WAAR JE DE CONFIG FILE NEERZET!
Sorry dat ik de bovenstaande zin in hoofdletters weergeef maar dat doe ik om verwarring te verkomen.

2. Een verzoek certificaat.

Ga naar start -> uitvoeren -> cmd.
Ga naar je werkmap door cd te typen en dan cd ssl.
Nu krijg je in het cmd scherm dit te zien.
C:/ssl>
Nu kunnen we een verzoek maken dat we een SSL certificaat willen maken.
typ nu openssl req -new -nodes -out requests/certreq.txt -keyout keys/privatekey.pem
Nu krijg je het volgende te zien.

Loading 'screen' into random state - done
Generating a 1024 bit RSA private key
.....................++++++.............+++
++++.....+.................+++++++
writing new private key to 'privatekey.pem
------
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 Distinquished 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) []:NL
State or Province Name (full name) []:Gelderland
Locality Name (eg, city) []:Doesburg
Organization Name (eg, company) []:Je bedrijfsnaam!
Organizational Unit Name (eg, section) []:de branche
Common name (eg, your websites domain name) []: sitemasters.be
Email Address[]: email@email.nl

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password[]: wachtwoord


Nu heb je een verzoek certificaat en een sleutel gemaakt.
Het verzoek certificaat is het bestandje dat certreq.txt heet die opgeslagen staat in de map c:/ssl/requests/
En bestandje dat privatekey.pem heet is je privee sleutel die heb je nodig om het certificaat te matchen op je host
Bewaar deze sleutel goed en veilig
Want anders zou een kwaadwillig iemand zich voor kunnen doen als jou server en de gevolgen
Kun je nu zelf wel bedenken


3. CA Certificaat maken

CA staat voor Certificate Authorities en dat zijn instanties die certificaten ondertekenen de bekendste is Verisign.
Maar wij gaan ons eigen CA certificaat maken dus zelf ondertekenen.
Eerst genereren we onze CA sleutel die nodig is om het certificaat te ondertekenen.
typ nu: openssl genrsa -des3 -out keys/ca.key 1024
en nu krijg je het volgende te zien:

Loading 'screen' into random state - done
Generating RSA private key, 1024 bit long modulus
...................+++++++.....++++++++
+++.....+...+.............+++++
e is 65537(0x10001)
Enter pass phrase for keys/ca.key: wachtwoord
Verifying - Enter pass phrase for keys/ca.key: wachtwoord_herhaal

C:ssl>

Nu staat je CA sleutel in de map C:sslkeys ook deze sleutel is belangrijk.
Bewaar deze ook veilig net als je privatekey.pem
Nu kunnen we dus een CA certificaat gaan maken
der mate van dit command:
openssl req -config openssl.conf -new -x509 -days 1001 -key keys/ca.key -out certs/ca.cer
nu krijg je weer het volgende te zien:

Enter pass phrase for keys/ca.key: wachtwoord
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) []:NL
State or province name (full name) []:Gelderland
Locality Name (eg, city) []:Doesburg
Organization Name(eg, company) []:Bedrijfsnaam
Organizational Unit Name(eg, section) []:branche
Comman Name (eg, your websites domain name) []:sitemasters.be
Email Address []: email@email.nl

C:ssl>

Nu hebben we een CA certificaat waarmee we het certificaat verzoek mee gaan ondertekenen.
Zodat het een vertrouwd certificaat wordt.

4. Certificaat ondertekenen
Je kan het certificaat ondertekenen door het volgende command.
openssl ca -policy policy_anything -config openssl.conf -cert certs/ca.cer -in requests/certreq.txt -keyfile keys/ca.key -days 360 -out certs/iis.cer
Nu krijg je het volgende te zien:

Using configuration from openssl.conf
Loading 'screen' into random state - done
Enter pass phrase for keys/ca.key: Wachtwoord
Check that the request matches the signature Signature OK!
The subject's Distinguished Name is as follows
CountryName:    :PRINTABLE:'NL'
Stateorprovincename :PRINTABLE: 'Gelderland'
LocalityName:   :PRINTABLE:'Doesburg'
OrganizationName :PRINTABLE: 'bedrijfsnaam'
OrganizationalUnitName :PRINTABLE: 'Branche'
CommonName     :PRINTABLE: 'domeinnaam.com'
emailAddress    :PRINTABLE: 'email@email.nl'
Certificate is to be certified until Apr 12 11:47:19 2008 GMT (360 days)
Sign the certificate [y/n]: y


1 out of 1 certificate requests cerified, commit? [y/n]: y
Data Base Updated

C:ssl>


Nu hebben we het certificaat ondertekent. Nu gaan we hem compatible maken met windows
om bepaalde warnings te verkomen.
Door het volgende command:
openssl x509 -in certs/iis.cer -out certs/iisx509.cer
Als je het gaat hosten heb je de privatekey.pem nodig die tussen de map keys staat
En je CA certificaat is je iis.cer en het certificaat zelf is het iisx509.cer
Die bestanden host je en voila. Je hebt een https verbinding.
Nu heb ik het natuurlijk veel makkelijker gezegt dan dat het werkelijk is.
Maar Deze tutorial gaat over het maken van zon certificaat niet over het hosten.

Einde
Mocht het allemaal gewoon niet duidelijk zijn laat het me dan zo snel mogelijk weten. © Wesley vd Meer d_overdrive@hotmail.com

« Vorige tutorial : Installeer een webserver (Apache, PHP en MySQL) Volgende tutorial : Dataverkeer besparen met mod_deflate »

© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.011s