Olisko kellään tietoa, kuinka voisi tehdä helposti oman X509 -sertifikaatin?
Testailen Web Servicejä ja WSE 3.0:aa.
Web Service on Win Server 2003 koneella.
Alla kopioitua tietoa.
TEE ITSE: Palvelinvarmenne testikäyttöön OpenSSL-ohjelmistolla
Julkisella palvelimella tulisi olla luotetulta varmentajalta (certificate authority, CA) haettu palvelinvarmenne. Palvelinvarmenteen voi kuitenkin tehdä kokeilumielessä omaan käyttöön esimerkiksi OpenSSL-ohjelmistolla. Tässä esimerkissä tarvitset lisäksi OpenSSL:ään nojaavaan mod_ssl -Apache -moduliin kuuluvaa skriptiä. Pki-starttipaketissa tuetut versiot ovat Apache 1.3, OpenSSL 0.9.6g ja modSSL 2.8.
Oman CA-varmenteen luominen ja sen allekirjoittaminen
Luodaan ensin varmentajan avainpari (1024-bittinen RSA). Luodun avainparin yksityinen avain salataan antamastasi salasanasta johdetulla symmetrisellä (3DES) avaimella, ja talletetaan tiedostoon (ca.key):
$ openssl genrsa -des3 -out ca.key 1024
Voit katsella avainparin tietoja komennolla:
$ openssl rsa -noout -text -in ca.key
Allekirjoita luomasi avainparin julkinen avain sen yksityisellä avaimella, jolloin syntyy itseallekirjoitettu varmenne (ca.crt), jota käytetään jatkossa varmentajan varmenteena eli CA-varmenteena. CA-varmennetta varten sinulta kysytään tietoja, joiden avulla muodostetaan varmenteeseen tuleva myöntäjän (issuer) ja haltijan (subject) DN-kenttä (Distinguished Name). Itseallekirjoitetussa varmenteessa myöntäjän ja haltijan DN ovat samat.
$ openssl req -new -x509 -days 365 -key ca.key -out ca.crt
Varmenteen tiedot näet komennolla;
$ openssl x509 -noout -text -in ca.crt
Palvelinvarmenteen luominen OpenSSL:llä
Luo ensin avainpari palvelinta varten kuten edellä:
$ openssl genrsa -des3 -out server.key 1024
Voit jälleen katsella avainparia:
$ openssl rsa -noout -text -in server.key
Luo varmennepyyntö (CSR, certificate signing request) palvelinvarmenteesta. Varmennepyyntö allekirjoitetaan palvelinvarmenteen yksityisellä avaimella ja se sisältää mm. haettavan varmenteen subject-kentän tiedot, joita OpenSSL kysyy:
$ openssl req -new -key server.key -out server.csr
Allekirjoita pyytämäsi palvelinvarmenne (server.csr) itse tekemäsi CA-varmenteen yksityisellä avaimella komennolla
$ openssl x509 -req -in server.csr -out server.crt -CA ca.crt -CAkey ca.key -CAcreateserial
Tässä vaiheessa kysytään vielä haluatko lisätä varmenteeseesi "extra atribuutteja", mutta niihin ei tarvitse laittaa mitään.
Allekirjoitetun palvelinvarmenteen tiedot näet komennolla:
$ openssl x509 -noout -text -in server.crt
Tiedostoihin server.crt (palvelinvarmenne) ja server.key (palvelinvarmenteen yksityinen avain) voit viitata Apachen httpd.conf-tiedostosta seuraavasti:
SSLCertificateFile /path/to/this/server.crt
SSLCertificateKeyFile /path/to/this/server.key
server.csr-tiedostoa ei enää tarvita.
Aihe on jo aika vanha, joten et voi enää vastata siihen.