Λειτουργικά συστήματα Linux, *BSD, Mac OS X
Χρήση της βιβλιοθήκης OpenSSL
Δημιουργία νέου ιδιωτικού κλειδιού
$ OLD_UMASK=`umask`
$ umask 077
Η εντολή umask 077 εξασφαλίζει ότι το ιδιωτικό κλειδί θα αποθηκευθεί σε αρχείου που θα είναι αναγνώσιμο μόνο από το χρήστη που το δημιούργησε.
$ openssl genrsa 2048 > key.pem
Η εντολή αυτή δημιουργεί ένα ιδιωτικό κλειδί μεγέθους 2048 bits και το αποθηκεύει στο αρχείο με όνομα key.pem.
Τέλος, επαναφέρουμε την παλιά μάσκα δημιουργίας αρχείων:
$ umask $OLD_UMASK
Όλη η ασφάλεια του πιστοποιητικού εξαρτάται από την ασφαλή διαφύλαξη του ιδιωτικού κλειδιού. Ποτέ μη δίνετε πρόσβαση σε αυτό σε τρίτους. Όποιος έχει πρόσβαση στο ιδιωτικό κλειδί μπορεί να προσποιηθεί την ταυτότητα του εξυπηρετητή για τον οποίο εκδίδεται το πιστοποιητικό. |
|
Αν το ιδιωτικό κλειδί χαθεί ή σβηστεί, τότε το πιστοποιητικό είναι άχρηστο. Γι' αυτό προτείνεται η τήρηση ενός αντιγράφου ασφαλείας του ιδωτικού κλειδιού σε ασφαλή τοποθεσία. |
Δημιουργία νέου Αιτήματος Υπογραφής Πιστοποιητικού
Για να προχωρήσετε στην έκδοση νέου πιστοποιητικού, είναι απαραίτητη η δημιουργία ενός νέου Αιτήματος Υπογραφής Πιστοποιητικού (Certificate Signing Request - CSR). Το Αίτημα περιλαμβάνει τα στοιχεία του Υποκειμένου του πιστοποιητικού (όνομα, χώρα, οργανισμός κλπ.), καθώς και το δημόσιο κλειδί που αντιστοιχεί στο ιδιωτικό. Στη συνέχεια η Αρχή Πιστοποιήσης θα υπογράψει τα στοιχεία αυτά, προσδίδοντάς τους κύρος.
Το Αίτημα δημιουργείται χρησιμοποιώντας την εντολή:
$ openssl req -new -key key.pem -nodes
Θα ερωτηθείτε σχετικά με τα στοιχεία που θέλετε να περιλαμβάνει το πεδίο. Από αυτά υποχρεωτικό είναι μόνο το πεδίο «Common Name» (<1> - κοινό όνομα), το οποιό πρέπει να συμπίπτει με το πλήρες όνομα του εξυπηρετητή (Fully Qualified Domain Name - FQDN) για τον οποίο ζητάτε τον εξοπλισμό. Αν ο εξυπηρετητής έχει περισσότερα του ενός ονόματα (π.χ. www.example.com και mail.example.com), τότε αναφέρετε μόνο το κύριο. Στη συνέχεια θα έχετε τη δυνατότητα να προσθέσετε τα επιπρόσθετα ονόματα του εξυπηρετητή.
Αφού απαντήσετε στις ερωτήσεις, θα τυπωθεί το Αίτημα στην οθόνη σας:
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]:GR
State or Province Name (full name) [Some-State]:Lakonia
Locality Name (eg, city) []:Sparti
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Some
organization
Organizational Unit Name (eg, section) []:Some unit
Common Name (eg, YOUR name) []:www.example.com <1>
Email Address []:.
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
-----BEGIN CERTIFICATE REQUEST-----
MIICvzCCAacCAQAwejELMAkGA1UEBhMCR1IxEDAOBgNVBAgTB0xha29uaWExDzAN
BgNVBAcTBlNwYXJ0aTEaMBgGA1UEChMRU29tZSBvcmdhbml6YXRpb24xEjAQBgNV
BAsTCVNvbWUgdW5pdDEYMBYGA1UEAxMPd3d3LmV4YW1wbGUuY29tMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtAR3RZavJpfC/hAdzb+/O2fgdSEPlVJw
nAS6IYnEKLGp7qmaPGQZK06tI6FAIAepU8i9bXfcnX4k9JvIzsEBAm454SyTVcGo
jxQ4buadLQyLSNiK9nEMbMexkwYZkYkOHGb7OmBcw1FT3Jhr1sqCRMPhUjE4UttS
dhc5bNo2IZK34c9GipnOQ6dz3IVa/21JGgPbm6b0wuv4i9R8YQs6d0ElUlIya2VS
6Kd3gB+3U87URqneYUdL6gYqzVGV/Fc1R+HsoBl8P3VWybKDHaLXXxnIC84av4nM
c+20C8gUuUAwXdd2/uhNnU4lVTc8HwjB9LxL0RJvGSMno/H8vy9VUwIDAQABoAAw
DQYJKoZIhvcNAQEFBQADggEBAEyke2DL8Pay015JLeC6elzC8uBuPtO5gYHdlmIQ
lE2MnFzjWWvWF8Y5eCUtJv+ccmL3Yj6YvtjoEN5VyWLUdVABrrnv+F+yXRTRPD+3
sm9Rd/XWSrv+Gu5KPZ2RtuIigTwljMZ7MLGkH8HvZzhNnb0rKzILVVybbVns5kTp
sjqYBdS0CSAzsrMyYItUjLg/alhnFA/c3rG9B+nrQrbfr8+K+JgV+I2z3cTuXLiw
dSdgj9+KosvH8K+gwtAcB1FQ3lamYr1hcGWzOg9seF122JfpWxmXqW8D5lPntrDs
TXwM9KO+aSDtF4ei4Y52wniB9spK5K+3bbWr3MBL6WqZ1KE=
-----END CERTIFICATE REQUEST-----
Το κομμάτι
-----BEGIN CERTIFICATE REQUEST-----
MIICvzCCAacCAQAwejELMAkGA1UEBhMCR1IxEDAOBgNVBAgTB0xha29uaWExDzAN
BgNVBAcTBlNwYXJ0aTEaMBgGA1UEChMRU29tZSBvcmdhbml6YXRpb24xEjAQBgNV
BAsTCVNvbWUgdW5pdDEYMBYGA1UEAxMPd3d3LmV4YW1wbGUuY29tMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtAR3RZavJpfC/hAdzb+/O2fgdSEPlVJw
nAS6IYnEKLGp7qmaPGQZK06tI6FAIAepU8i9bXfcnX4k9JvIzsEBAm454SyTVcGo
jxQ4buadLQyLSNiK9nEMbMexkwYZkYkOHGb7OmBcw1FT3Jhr1sqCRMPhUjE4UttS
dhc5bNo2IZK34c9GipnOQ6dz3IVa/21JGgPbm6b0wuv4i9R8YQs6d0ElUlIya2VS
6Kd3gB+3U87URqneYUdL6gYqzVGV/Fc1R+HsoBl8P3VWybKDHaLXXxnIC84av4nM
c+20C8gUuUAwXdd2/uhNnU4lVTc8HwjB9LxL0RJvGSMno/H8vy9VUwIDAQABoAAw
DQYJKoZIhvcNAQEFBQADggEBAEyke2DL8Pay015JLeC6elzC8uBuPtO5gYHdlmIQ
lE2MnFzjWWvWF8Y5eCUtJv+ccmL3Yj6YvtjoEN5VyWLUdVABrrnv+F+yXRTRPD+3
sm9Rd/XWSrv+Gu5KPZ2RtuIigTwljMZ7MLGkH8HvZzhNnb0rKzILVVybbVns5kTp
sjqYBdS0CSAzsrMyYItUjLg/alhnFA/c3rG9B+nrQrbfr8+K+JgV+I2z3cTuXLiw
dSdgj9+KosvH8K+gwtAcB1FQ3lamYr1hcGWzOg9seF122JfpWxmXqW8D5lPntrDs
TXwM9KO+aSDtF4ei4Y52wniB9spK5K+3bbWr3MBL6WqZ1KE=
-----END CERTIFICATE REQUEST-----
θα πρέπει να το αντιγράψετε και να το επικολλήσετε στο πεδίο «Certificate Request» της Εφαρμογής.
Χρήση της βιβλιοθήκης GnuTLS
Δημιουργία νέου ιδιωτικού κλειδιού
$ certtool -p --outfile key.pem
Generating a 2048 bit RSA private key...
Το ιδιωτικό κλειδί πρέπει να προστατεύεται με κατάλληλα δικαιώματα πρόσβασης (permissions). Οποιοσδήποτε αποκτήσει πρόσβαση στο ιδιωτικό κλειδί μπορεί να προσποιηθεί την ταυτότητα του εξυπηρετητή και να υποκλέψει τα δεδομένα που διακινούνται μέσα από το κανάλι ασφαλούς επικοινωνίας. |
|
Αν το ιδιωτικό κλειδί χαθεί ή σβηστεί, τότε το πιστοποιητικό είναι άχρηστο. Γι' αυτό προτείνεται η τήρηση ενός αντιγράφου ασφαλείας του ιδωτικού κλειδιού σε ασφαλή τοποθεσία. |
Δημιουργία νέου Αιτήματος Υπογραφής Πιστοποιητικού
$ certtool -q --load-privkey key.pem
Θα ερωτηθείτε σχετικά με τα στοιχεία που θέλετε να περιλαμβάνει το πεδίο. Από αυτά υποχρεωτικό είναι μόνο το πεδίο «Common Name» (κοινό όνομα), το οποιό πρέπει να συμπίπτει με το πλήρες όνομα του εξυπηρετητή (Fully Qualified Domain Name - FQDN) για τον οποίο ζητάτε τον εξοπλισμό. Αν ο εξυπηρετητής έχει περισσότερα του ενός ονόματα (π.χ. www.example.com και mail.example.com), τότε αναφέρετε μόνο το κύριο. Στη συνέχεια θα έχετε τη δυνατότητα να προσθέσετε τα επιπρόσθετα ονόματα του εξυπηρετητή.
Τα υπόλοιπα στοιχεία είναι προαιρετικά. Το όνομα χώρας, το όνομα του οργανισμού και η τοποθεσία δε λαμβάνονται υπ' όψιν και συμπληρώνονται αυτόματα με τα αντίστοιχα στοιχεία του φορέα στον οποίο υποβάλλεται το αίτημα.
Τέλος, μην ορίσετε συνθηματικό για το αίτημα.
Generating a PKCS #10 certificate request...
Country name (2 chars): GR
Organization name: Sample Organization
Organizational unit name: Some unit name
Locality name: Sparti
State or province name: Lakonia
Common name: www.example.com
UID:
Enter a challenge password: -----BEGIN NEW CERTIFICATE REQUEST-----
MIIC0zCCAb0CAQAwgYExCzAJBgNVBAYTAkdSMRwwGgYDVQQKExNTYW1wbGUgT3Jn
YW5pemF0aW9uMRcwFQYDVQQLEw5Tb21lIHVuaXQgbmFtZTEQMA4GA1UEBxMHTGFr
b25pYTEPMA0GA1UECBMGU3BhcnRpMRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20w
ggEfMAsGCSqGSIb3DQEBAQOCAQ4AMIIBCQKCAQDX3rBMNN9CfjcEPBWnX6zp4fyq
3WFJYVKeKmAnYTbAKR4WsnLJ7j428tRZ72+U0IjXizeo6ZwUZW2BRhSwNL+AdH/u
olLyCSPUkXDPtO7SN3mLlTytanyQyAPIYxqRHR8IsDPzAysEylqQH8DHqw9/bwGM
RyYWTFVMfLjxMmqbJutm3KxpOtvfmCP30srYTdJw6bC8viOyg8Ai93I+nT9Ozhn0
/+xzKIdGkMhulzcP/FaltEoZsyPjijyz8tOVPS6f7H3B5OPFYid9kWTM6iUA2UYc
ofg+33b25SkM0tnfF1mjJzyO6giq+qoIVfZjN+j+zYLZdA31M+M1GuOQlLuNAgMB
AAGgETAPBgkqhkiG9w0BCQcxAhMAMAsGCSqGSIb3DQEBBQOCAQEAIj1sQNeTDeTa
ZMvITxho2IljkRbiYSMRBlvGyOWioqbHe9xWbqTCO+eh2xh5SCqfQdFAuM3oXTJ0
hvv5A0GCwysJxMs//l8GwIusiR9CaDrxkrziacAy2G2pY5KfItOFPF1/SK2jJlEC
fKWyqsZ9l5zFgNCxjo5Dz9pxBFBgZ8fp2zjJCaW3f1a8IVAxf6YaNlLBS8YlvLq0
YIhAtIZV98rQ2FRzNPLzdV0ZUukkpGfholEeLyRf81iPIL3bWF9lMRF3JopJUV3S
Q/zhkKvtzX3KQgsIea43PGkcVXCj1inxi7ODa8W4LPhGN15vn0n5GDqItLlGPsNR
awSlJVVjkw==
-----END NEW CERTIFICATE REQUEST-----
Στη συνέχεια, το κείμενο που βρίσκεται ανάμεσα στις γραμμές BEGIN CERTIFICATE REQUEST και END CERTIFICATE REQUEST, συμπεριλαμβανομένων των γραμμών αυτών, δηλαδή το:
-----BEGIN CERTIFICATE REQUEST-----
MIIC0zCCAb0CAQAwgYExCzAJBgNVBAYTAkdSMRwwGgYDVQQKExNTYW1wbGUgT3Jn
YW5pemF0aW9uMRcwFQYDVQQLEw5Tb21lIHVuaXQgbmFtZTEQMA4GA1UEBxMHTGFr
b25pYTEPMA0GA1UECBMGU3BhcnRpMRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20w
ggEfMAsGCSqGSIb3DQEBAQOCAQ4AMIIBCQKCAQDX3rBMNN9CfjcEPBWnX6zp4fyq
3WFJYVKeKmAnYTbAKR4WsnLJ7j428tRZ72+U0IjXizeo6ZwUZW2BRhSwNL+AdH/u
olLyCSPUkXDPtO7SN3mLlTytanyQyAPIYxqRHR8IsDPzAysEylqQH8DHqw9/bwGM
RyYWTFVMfLjxMmqbJutm3KxpOtvfmCP30srYTdJw6bC8viOyg8Ai93I+nT9Ozhn0
/+xzKIdGkMhulzcP/FaltEoZsyPjijyz8tOVPS6f7H3B5OPFYid9kWTM6iUA2UYc
ofg+33b25SkM0tnfF1mjJzyO6giq+qoIVfZjN+j+zYLZdA31M+M1GuOQlLuNAgMB
AAGgETAPBgkqhkiG9w0BCQcxAhMAMAsGCSqGSIb3DQEBBQOCAQEAIj1sQNeTDeTa
ZMvITxho2IljkRbiYSMRBlvGyOWioqbHe9xWbqTCO+eh2xh5SCqfQdFAuM3oXTJ0
hvv5A0GCwysJxMs//l8GwIusiR9CaDrxkrziacAy2G2pY5KfItOFPF1/SK2jJlEC
fKWyqsZ9l5zFgNCxjo5Dz9pxBFBgZ8fp2zjJCaW3f1a8IVAxf6YaNlLBS8YlvLq0
YIhAtIZV98rQ2FRzNPLzdV0ZUukkpGfholEeLyRf81iPIL3bWF9lMRF3JopJUV3S
Q/zhkKvtzX3KQgsIea43PGkcVXCj1inxi7ODa8W4LPhGN15vn0n5GDqItLlGPsNR
awSlJVVjkw==
-----END CERTIFICATE REQUEST-----
πρέπει να αντιγραφεί και να επικολληθεί στην εφαρμογή έκδοσης ψηφιακών πιστοποιητικών του ΕΔΥΤΕ, στο πεδίο «CSR (PEM format)».