Slik genererer du en CSR-fil
Installasjon
Å lage en bundle fil fra .crt-filer:
En rekke systemer (bl.a. Apache) krever at intermediate-sertifikatene ligger samlet i en bundle-fil.
Dette gjøres enkelt ved å lage en ny tekstfil som inneholder alle intermediate- og rot-sertifikater i “omvendt” rekkefølge, dvs:
Intermediate 2
Intermediate 1
Rot 0
(NB! Ofte får du feil om Chain-anchor ved å ha topproten med i bundelen da denne skal ligge i operativsystemet/klienten fra før, da kan du bare fjerne den siste (rot) fra bundelen.
Lagre filen som dittDomene.ca-bundle.
Å installere sertifikatet på Tomcat:
Rot-sertifikat:
Skriv følgende kommando for å installere Rot sertifikatet filen:
keytool -import -trustcacerts -alias root -file RotSertFil.crt -keystore keystore.key
Hvis du får en melding som sier «Certificate already exists in system-wide CA keystore under alias <…> Do you still want to add it to your own keystore? [no]:», Velger du Yes. Hvis det fungerte vil du mottatt følgende melding «Certificate was added to keystore».
Mellomliggende sertifikat:
Skriv følgende kommando for å installere Mellomliggende sertifikatet filen:
keytool -import -trustcacerts -alias intermediate -file
MellomliggendeSertFil.crt -keystore keystore.key
Hvis det fungerte vil du mottatt følgende melding «Certificate was added to keystore».
Domenesertifikat:
Skriv inn følgende kommando for å installere sertifikatet til ditt domene:
(husk å bruk samme alias som er brukt til private nøkkelen)
keytool -import -trustcacerts -alias tomcat -file DomeneSertFil.crt -keystore keystore.key
Hvis det fungerte vil du mottatt følgende melding «Certificate reply was installed in keystore».
Nå er alle sertifikatene installert i din keystore fil, det som gjenstår nå er å konfigurere din server til å bruke keystore filen.
Konfigurer din SSL Connector
Tomcat krever at SSL Connector er konfigurert før den kan akseptere sikre tilkoblinger.
Standardinnstillingen til Tomcat ser etter en Keystore med filnavn som slutter på .keystore i hjemmet katalog med standard passord «changeit». Hjemmet katalogen er vanligvis /home/brukernavn/ på Unix og Linux systemer, og C:\Documents and Settings\brukernavn\ på Microsoft Windows systemer. Du har mulighet til å endre passord og filplassering.
Kopiere keystore filen (keystore.key) til hjemmeområdet.
Åpne filen ${CATALINA_HOME}/conf/server.xml i en teksteditor.
Avkommenter SSL Connector-konfigurasjonen.
Kontroller at Connector Port er 443.
Kontroller at keystorePass samsvarer med passordet for keystore og keystoreFile inneholder banen og filnavnet til din keystore.
Når du er ferdig burte din Connector se omtrent slik ut:
<Connector className=»org.apache.catalina.connector.http.HttpConnector» port=»8443″ minProcessors=»5″ maxProcessors=»75″ enableLookups=»true» acceptCount=»10″ debug=»0″ scheme=»https» secure=»true»>
<Factory className=»org.apache.catalina.net.SSLServerSocketFactory» clientAuth=»false» protocol=»TLS» keystoreFile=»/mappe/keystore.key» keystorePass=»passord»/>
- Lagre endringen til server.xml
- Gjør en omstart av Tomcat
Apache Tomcat (keytool):
Lag en ny keystore:
keytool -genkeypair -keysize 2048 -keyalg RSA -alias ALIAS -keystore KEYSTORENAVN
Bruk samme passord på keystore og selve nøkkelen.
Verifiser keystore:
keytool -list -keystore keystore
Her forventer en bare at det er ett entry; PrivateKeyEntry.
Lag CSR:
keytool -certreq -alias ALIAS -keyalg RSA -file CERTFIL.csr -keystore KEYSTORENAVN’
csr gis til oss og du mottar en zip-fil med diverste crt/cer filer.Velger du IIS som server type under bestilling får du en ferdiglaga p7b-fil som gjør installasjon litt raskere. Mulig du må endre fil-endelse fra .cer til .p7b. p7b-filen inneholder sertifikatet samt intermediate og rot-sertifikatene.
Deretter import p7b inn i keystore:
keytool -import -alias ALIAS -trustcacerts -file FILEN_SOM_DU_FÅR_AV_OSS.p7b -keystore KEYSTORE
Flytt så keystore-filen (jks) inn til \Jenkins\secrets (dette er sikkert ikke nødvendig da det kan spesifiseres i config, men virker til å være egne les/skriv-rettigheter til denne mappen som er en liten fordel).
i jenkins.xml:
Verifiser at -httpsKeyStore=”%BASE%\secrets\KEYSTORE” –httpsKeyStorePassword=KEYSTORE_PASSWORD
CSR-filer
Microsoft Exchange 2010:
- Start Exchange Management Console ved å gå til Start> Programmer> Microsoft Exchange 2010> Exchange Management Console.
- Klikk på Manage Databases.
- Velg Server Configuration i menyen til venstre og deretter New Exchange Certificate fra handlingsmenyen på høyre side.
- Når du blir bedt om et friendly name, står du fritt til å velge hva som helst. Dette brukes ikke i selve CSR-en, men brukes av Windows for å identifisere/skille på CSR-er/sertifikater.
- Under Domain Scope kan du merke av i boksen hvis du vil generere CSR for wildcard. Ellers bare gå videre. NB noen systemer kan ha problemer med Wildcard (*) til Exchange/federering. Hvis du velger Wildcard kan du oppe rett til steg 8.
- På menyen Exchange Configuration velger du den/de tjenestene du skal sikre med TLS/sertifikat, og skriver inn navn på tjenestene som skal omfattes.
- På neste side lister Exchange opp alle navnene den foreslår skal inkluderes i CSR-en. Se gjennom navnene og legg til eventuelle ekstra navn på dette punktet.
- Organisasjonen din bør være ditt fulle juridiske navn slik det står i Brønnøysundregistrene.
- I neste steg velger du hvor du ønsker å lagre CSR-filen. Denne lagres som en .req-fil som kan åpnes i de fleste teksteditor som Notepad, Wordpad, Vi o.l.
Denne CSR-filen legger du ved/inn når du bestiller sertifikatet.
Microsoft IIS:
Åpne Internet Information Services (IIS) Manager.
I IIS velg serveren fra Connection-menyen. På valgte den valge servers Home, dobbelttrykk på Server Certificates.
En ny oversikt som viser tilgjengelige sertifikater vil vise seg. I høyre marg under Actions trykk på Create Certificate Request.
En Request Certificate veiviser vil åpne hvor følgende opplysninger må legges inn (fet skrift betyr obligatorisk):
- Common name (CN):
Fully-qualified domain name (FQDN) ( f.eks.., www.example.com). Hvis sertifikater er et wildcard-sertifikat må ‘*’ være med i common name. - Organization (O):
Fulle juridiske navnet slik det står i Brønnøysundregistrene. - Organizational unit (OU):
Avdeling e.l. Kan gjerne være tomt, bare pass på å unngå å skrive inn “store” merkenavn som Google, Microsoft etc. - City/locality:
By/Poststed som organisasjonen er registrert i Brønnøysundregistrene. - State/province:
Fylke - Country:
Land (NO for Norge).
Det neste steget, Cryptographic Service Provider Properties, om du ikke vet hva du skal bruke velg Microsoft RSA SChannel Cryptographic Provider og en minimum bit length (key size) på 2048.
Deretter velg hvor CSR-en skal lagres. Sluttresultatet blir en .csr eller .txt fil som vi trenger for å produsere et sertifikat.
CSR-en ser gjerne slik ut:
—–BEGIN CERTIFICATE REQUEST—–
MIIDOjCCAiICAQAwgaMxCzAJBgNVBAYTAk5PMQ0wCwYDVQQIDARPc2xvMQ0wCwYD
VQQHDARPc2xvMRswGQYDVQQKDBJDb21tZmlkZXMgTm9yZ2UgQVMxEzARBgNVBAsM
Ck9wZXJhdGlvbnMxGzAZBgNVBAMMEmVwa2kuY29tbWZpZGVzLmNvbTEnMCUGCSqG
SIb3DQEJARYYb3BlcmF0aW9uc0Bjb21tZmlkZXMuY29tMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEArn0EXXmQcm4GL9KuvBNbeYTBNjEVZTd2M20EmrBC
G80eSd4JNGukLt+TVAtX5a9n99ohVxYLeRMGtccqvPh+psgM23btZAJ6+vRtSF+l
kp9ACqCTGyd8uwQoa6ZtTTDGfkyS3o7dkAFmlvFzgGQShFSy2S6QDl+A+Ey9Q7Zr
aLF2UN+z8qy76xcPuSdzuog8KPx7tPP2+AzNsIhh5F+KJbeBC06us/+pKy5URbqp
BtgYnXyKjrycdqizIeYEI4TBp0efOXbZnpdxyFD+WxsMb+7VkxeRBZWL100NJTtI
k0pOuSBRhYyWlW1FMosXCx9Ln0kXRfM9SICzn96kYzLMRQIDAQABoFEwIAYJKoZI
hvcNAQkHMRMMEU5ld0NlcnRDbW1mZHMxMjMhMC0GCSqGSIb3DQEJAjEgDB5Qcm92
aWRlZCBieSBDb21tZmlkZXMgTm9yZ2UgQVMwDQYJKoZIhvcNAQELBQADggEBAAKh
plRy5dzGygewYqGnFoAXCOVPJdxsnkltnzZZ/WiDbXnkBEQjiiBD4YSZq+cnWwM/
2ip5yHE/x+2Yp21Y+5rR3+b5Iq9+m9Pg2VXCu3fzO45T7iFk96vw4UkS/94ltjpI
2E1xB4Se+OWstdzGO8LdSohtdIESvTHc8kzcepU42yYDX7RG3h4LsQzGJtRrOCCD
CvJFQJYZ5+9xAcTQuG7DkDwg+PY3lhGgi7m8XMycCJuO+U6U4kvcVkerfjhbaTTj
qEGK2O65vZ3xlGhSD1y40fQtTiQPIKmfDyRV6yFra676EMHbWNsO7Y2lxSxrfkJ+
Ii0dmmJkIY+Fzl1sctY=
—–END CERTIFICATE REQUEST—–
Open SSL:
For å generere en CSR med en ny privatnøkkel kjør følgende kommando:
openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privatekey.key
Parameter forklaring:
-out spesifiserer filnavn og hvor CSR-en lagres.
-new -newkey rsa:2048 detaljer rundt privatnøkkel, rsa:2048 beskriver størrelsen (bit) på privatnøkkelen. 2048 er minimum.
-nodes om du ikke ønsker at privatnøkkelen skal krypteres (3DES), fjerner du -nodes vil du måtte lage et passord for å dekryptere privatnøkkelen
-keyout filnavn og plassering av privatnøkkelen
Når du kjører kommandoen vil OpenSSL be om følgende:
Country Name: (2 bokstavs ISO-3166-1 landskoden, f.eks. NO for Norge)
State or Province: (Fylke)
Locality: (Poststed)
Organization: (Fulle juridiske organisasjonsnavn som står i Brønnøysundsregistrene.
Common Name: (FQDN / domene)