OpenSSL ja ECC-sertifikaatin generointi
Jossain tilanteissa on tarve luoda oma ECC-sertifikaatti esim. JSON Web Token (JWT) -allekirjoituksia varten. Alla vaihteet, joiden avulla tämä onnistuu käyttämällä Linux-ympäristöistä yleensä vakiona löytyvää OpenSSL-komentorivityökalua.
Yksityisen avaimen luonti (private key)
Yksityisen avaimen luonti ja tallentaminen private-key.pem
-tiedostoon onnistuu seuraavalla komennolla
openssl ecparam -name prime256v1 -genkey -noout -out private-key.pem
luodun sisällön voi avata millä tahansa tekstieditorilla, tai tulostaa esim. konsoliin seuraavalla komennolla
cat private-key.pem
jolloin näkyviin tulee jotain seuraavanlaista
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEILcWg6JLvw+DeoZSHn1l0U87vJ74Be86Av5W76tnez6OoAoGCCqGSM49
AwEHoUQDQgAELwFS6Zz/th26FuR7BLKEAq9iyOn94PbsRhWsyZCXIxYA+8wh4Dug
x5ZvObg0L7TlKokSE56hMCp1L3rPRhjkVA==
-----END EC PRIVATE KEY-----
Julkisen avaimen luonti (public key)
Julkisen avaimen luonti aiemmin luodusta yksityisestä avaimesta (ja julkisen avaimen tallentaminen public-key.pem
-tiedostoon) onnistuu seuraavalla komennolla
openssl ec -in private-key.pem -pubout -out public-key.pem
luodun sisällön voi avata millä tahansa tekstieditorilla, tai tulostaa esim. konsoliin seuraavalla komennolla
cat public-key.pem
jolloin näkyviin tulee jotain seuraavanlaista
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGVumyBG33N5z5yEOCzm+stvRjGYA
XUJS/t3VGE1P1PWK8pRWgaUXFgeyeg4lv4fpAeH9ACd2CZPF8urpgT6Nzg==
-----END PUBLIC KEY-----
Sertifikaatin luominen
Sertifikaatin luominen aiemmin luodusta yksityisestä avaimesta onnistuu seuraavalla komennolla
openssl req -new -x509 -key private-key.pem -out cert.pem -days 365
tämän jälkeen pitää vastata useampaan kysymykseen mm. kaupungin ja organisaation osalta, ja lopulta käytettävissä pitäisi olla cert.pem
-tiedosto.
Tarvittaessa nämä kysymysten täyttämät parametrit voi antaa myös komentorivin kautta, jolloin komento voisi olla seuraavanlainen
openssl req -new -x509 -key private-key.pem -out cert.pem -days 365 -subj "/C=FI/ST=Uusimaa/L=Helsinki/O=TurvallisuusFirma/OU=IT-osasto/CN=example.com"
Myös tämän sertifikaatin voi avata haluamallaan tekstieditorilla tai tulostaa konsoliin seuraavalla komennolla
cat cert.pem
jolloin näkyviin tulee jotain seuraavanlaista
-----BEGIN CERTIFICATE-----
MIICPDCCAeGgAwIBAgIUB+4D3hswdbu1i0fDwuRboF61NCkwCgYIKoZIzj0EAwIw
czELMAkGA1UEBhMCRkkxEDAOBgNVBAgMB1V1c2ltYWExETAPBgNVBAcMCEhlbHNp
bmtpMRUwEwYDVQQKDAxUdXJ2YWxsaXN1dXMxEjAQBgNVBAsMCUlULW9zYXN0bzEU
MBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjMwMjI1MDY1MjE4WhcNMjQwMjI1MDY1
MjE4WjBzMQswCQYDVQQGEwJGSTEQMA4GA1UECAwHVXVzaW1hYTERMA8GA1UEBwwI
SGVsc2lua2kxFTATBgNVBAoMDFR1cnZhbGxpc3V1czESMBAGA1UECwwJSVQtb3Nh
c3RvMRQwEgYDVQQDDAtleGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEH
A0IABEpUtW5o14J9XLjlcFVYKvP2lnKAF6eS+b6McST4sWFBiBSv8Px5NfOZA7Tz
4HPlxS0zt+vY0duhvP21d+UjCoijUzBRMB0GA1UdDgQWBBR2+R495HzWdfvrkIWg
GuI2T62tSTAfBgNVHSMEGDAWgBR2+R495HzWdfvrkIWgGuI2T62tSTAPBgNVHRMB
Af8EBTADAQH/MAoGCCqGSM49BAMCA0kAMEYCIQCO+DsmbrxuTU/QmyDSxblG5ZL8
HlgLshT7eVvyuPOq1gIhAK1TL65ny7+kj5trSJo07ZZAiDm7cj8APMcfd6n+CVO9
-----END CERTIFICATE-----
🔏