Mithilfe der Prozedur MAKE.SELF-SIGNED-CERT können Sie einen privaten RSA-Schlüssel (2048 Bit) und ein zugehöriges selbstsigniertes X.509-Zertifikat erzeugen. Diese Prozedur wurde insbesondere in Hinblick auf die Verwendung mit dem TLS-Proxy stunnel (siehe Handbuch "interNet Services Administratorhandbuch") in Zusammenhang mit TLS-verschlüsselten MT9750-Terminal-Emulations-Verbindungen entworfen. MAKE.SELF-SIGNED-CERT besitzt eine Reihe von Aufruf-Parametern:
Parameter zur Spezifizierung der Dateien für den privaten Schlüssel und das selbstsignierte Zertifikat
Die Parameter KEYFILE, CERTFILE und SERVERFILE spezifizieren die Dateien, in denen der private Schlüssel, ein zugehöriges selbstsigniertes Zertifikat und die Kombination von beidem gespeichert werden.
KEYFILE
Dieser Parameter spezifiziert die Datei, in der der private 2048 Bit RSA-Schlüssel gespeichert wird.
Der Parameter ist mit SYSDAT.TCP-IP-AP.nnn.NEW.KEY vorbelegt.
CERTFILE
Dieser Parameter spezifiziert die Datei, in der das generierte selbstsignierte Zertifikat gespeichert wird.
Der Parameter ist mit SYSDAT.TCP-IP-AP.nnn.NEW.CERT vorbelegt.
SERVERFILE
In manchen Anwendungsfällen kann man privaten Schlüssel und zugehöriges Zertifikat in einer einzigen Datei an die Anwendung übergeben. Um den Aufwand in einem solchen Fall zu minimieren, erledigt die Prozedur das Zusammenkopireen in eine einzige Datei selbst, die Zieldatei hierfür wird durch den SERVERFILE-Parameter angegeben.
Der Parameter ist mit SYSDAT.TCP-IP-AP.nnn.SERVER.PEM vorbelegt.
Parameter zur Festlegung von Schlüsseltyp und Passphrase-Verschlüsselung
COMMON-NAME
Dieser Parameter spezifiziert den Common-Name des selbstsignierten X.509-Zertifikats. Bei selbstsignierten Zertifikaten kommt dem Common-Name keine besondere Bedeutung zu; man kann den Zertifikaten aber spezielle Common-Names geben, um die interne Verwaltung der enthaltenen öffentlichen Schlüssel zu erleichtern.
Der Parameter ist mit 'self-signed server certificate' vorbelegt.
CERT-VALIDITY
Dieser Parameter spezifiziert (in Tagen) die Gültigkeitsdauer des selbstsignierten X.509-Zertifikats. Bei selbstsignierten Zertifikaten kommt der Gültigkeitsdauer in der Regel keine besondere Bedeutung zu, so dass man es bei der Voreinstellung belassen kann, wenn keine besonderen Anforderungen dem entgegen stehen.
Der Parameter ist mit 365 vorbelegt.
BATCH
Dieser Parameter spezifiziert, ob die Generierung des selbstsignierten Zertifikats interaktiv erfolgen soll oder nicht. Bei der interaktiven Generierung bekommt man die Möglichkeit, im Dialog einige Zertifikats-Parameter (Country Name, Organization Name und Common Name) zu verändern, während im Batch-Modus fest "Country Name" = DE, "Organization Name" = Fujitsu und "Common Name" = Wert des COMMON-NAME-Parameters verwendet wird. Den Batch-Modus erhält man mit der Parameter-Angabe 'YES'.
Der Parameter ist mit 'NO' vorbelegt.
Ablauf
Nach dem Aufruf verfährt die Prozedur wie folgt:
- Das RSA-Schlüsselpaar mit 2048 Bit Schlüssellänge und ein zugehöriges selbstsigniertes Zertifikat wird generiert.
- Das generierte Zertifikat wird im Klartext angezeigt.
- Die SHA1- und SHA256-Fingerprints des Zertifikats werden berechnet und angezeigt.
Die Fingerprints des Zertifikats können später benutzt werden, um mittelbar die Authentizität des enthaltenen öffentlichen Schlüssels sicherzustellen.
Beispiel
Nachfolgend ist der Mitschnitt eines Prozeduraufrufs abgedruckt. Die Benutzereingaben sind dabei durch Fettdruck hervorgehoben.
/CALL-PROCEDURE FROM-FILE=*LIBRARY-ELEMENT(LIBRARY=$TSOS.SYSSPR.TCP-IP-AP.nnn,-
/ ELEMENT=MAKE.SELF-SIGNED-CERT)
SSL Certificate Generation Utility Copyright (c) [...] Fujitsu Technology Solutions GmbH All Rights Reserved Generating and displaying self signed certificate ------------------------------------------------------------------------- STEP 1: Generating key and self-signed X.509 certificate % BLS0523 ELEMENT 'OPENSSL' [...] ..+............+.+.....+............+...++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++*.+...+...+...+......+.....+.+..+...+...+.........+.... ...+.....+....+..+..........+...+..+.......+++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++*.+......+....+..+.+...+++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++ ...+...+............+..+.+.....+.....................+......+..........+..+..... .............+............+.......+...+..+.+..+.+.....+.+.....+.+.........+..... .+.....+...............+.........+.+.....+....+...++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++*.....+.+++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++*..+....+......+......+.........+...+...+...+....... .......+.+.....+.+......+........+.+...+..+.+............+.....+..........+..+.. .......+.......+.....+....+...+......+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++ ----- 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) [DE]: *DE
Organization Name (e.g. company) [Fujitsu]: *Fujitsu Technology Solutions GmbH
Common Name (e.g. FQDN) [self-signed server certificate]: *Self signed certificate #0123
---------------------------------------------------------------------- STEP 2: Show generated X.509 certificate % BLS0523 ELEMENT 'OPENSSL' [...] Certificate: Data: Version: 3 (0x2) Serial Number: 1d:88:71:65:35:da:61:ec:45:14:9d:ad:0a:fb:4c:ce:4b:6f:d7:a5 Signature Algorithm: sha256WithRSAEncryption Issuer: C = DE, O = Fujitsu Technology Solutions GmbH, CN = Self signed certificate #0123 Validity Not Before: May 22 14:57:27 2024 GMT Not After : May 22 14:57:27 2025 GMT Subject: C = DE, O = Fujitsu Technology Solutions GmbH, CN = Self signed certificate #0123 Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:c9:69:51:be:97:b5:55:22:90:cb:ca:cd:92:61: c1:72:cf:b0:d6:30:70:72:b8:63:c7:09:58:79:53: 6e:c5:a8:fd:cf:7a:64:55:ce:c0:2f:4f:48:79:f7: a4:97:36:ca:15:c4:ab:8b:4f:5f:12:18:04:8a:a2: fe:dc:4b:b9:b3:da:52:2e:c5:47:4a:e1:a0:7e:05: 1d:89:9c:7b:ba:3b:90:9e:92:42:67:93:d1:cb:c7: d8:f0:4a:5b:5e:27:50:d7:1f:49:d7:92:ba:54:5a: 18:9f:16:81:4d:8b:1d:5b:72:c3:3c:d8:df:d0:9f: 92:bd:eb:83:c6:2d:2f:71:ca:93:43:00:6a:c2:79: af:c5:ed:7e:a5:d9:a3:14:6c:76:15:f7:78:cf:b6: b6:f3:ee:e9:d4:6e:93:f2:10:8b:45:df:8a:f4:92: 35:08:85:b9:26:21:61:21:b4:06:a6:57:ee:f7:3d: 5a:69:67:ca:1d:ec:9c:a8:51:fc:4d:a5:a4:1c:17: d9:81:6b:a7:d4:83:24:64:da:79:bd:33:0a:31:f0: 73:8c:0b:2d:2a:14:56:68:e7:56:0b:19:de:bd:d4: 77:67:d6:5d:4b:e6:fb:a5:3e:61:a8:b2:5b:86:39: 34:2a:9d:58:c1:13:8a:0c:11:25:69:62:5c:5a:c2: bb:97 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE X509v3 Subject Key Identifier: 07:7B:89:D9:BE:B0:97:CD:FB:5C:92:CE:09:00:A3:9F:6D:78:70:F0 Signature Algorithm: sha256WithRSAEncryption Signature Value: 14:ed:ba:ee:70:9b:b5:a8:0a:3e:9b:2e:ba:7a:e3:72:01:04: 5a:ff:53:e1:ac:be:03:00:22:0e:f6:0e:23:5b:c2:20:b8:ea: 8f:6e:6a:23:0d:4e:8a:4d:c9:de:01:42:24:ca:86:35:ae:be: dc:f4:e3:6e:93:81:8c:4e:f5:af:c3:2c:87:94:67:1f:41:53: 93:23:dd:2b:a1:21:d4:5b:6e:dd:c4:5f:f5:2a:ee:26:23:b2: a3:ca:22:25:5b:53:d1:ed:5d:9e:1d:91:2e:29:1c:b1:03:85: 7a:b6:9d:23:22:8a:07:72:13:cd:e5:f6:13:2a:f3:a2:13:ce: 68:fb:18:3a:5b:bf:27:38:a8:5c:14:8d:06:72:26:71:36:04: f3:4a:ad:53:26:b3:da:0e:51:df:fa:0c:99:ae:18:9b:61:2b: 7e:1f:7e:96:1b:9f:17:d5:a6:c0:86:b1:70:24:e5:5e:b3:35: cb:cc:87:0f:01:bd:a6:2e:fd:86:59:e5:26:65:5e:68:c3:30: 43:61:62:e1:d0:eb:f0:cf:c4:71:6b:9f:47:ed:df:87:9e:01: 10:7b:c4:2e:0d:37:2b:c8:e0:64:e5:fd:76:07:bb:13:70:f1: 02:76:32:be:43:c7:da:95:c4:55:d9:71:9e:22:18:60:9b:47: 3b:e6:89:1f SHA1 Fingerprint=09:0A:E0:D7:8E:4D:F6:F2:73:04:A2:2E:FA:9F:DC:42:49:DC:3F:E6 % BLS0523 ELEMENT 'OPENSSL' [...] sha256 Fingerprint=C7:7E:D3:46:D1:F9:E0:59:3F:0B:3C:44:A8:57:DD:9C:77:8E:9B:DD:D 5:DC:3E:58:66:E6:DC:20:C4:89:F6:5E ---------------------------------------------------------------------- RESULT: Server certification files o SYSDAT.TCP-IP-AP.nnn.NEW.KEY The PEM encoded RSA private key file. KEEP THIS FILE PRIVATE. o SYSDAT.TCP-IP-AP.nnn.NEW.CERT The PEM encoded self-signed X.509 certificate file. o SYSDAT.TCP-IP-AP.nnn.SERVER.PEM The PEM encoded file containing both the private key and the self-signed X.509 certificate file. KEEP THIS FILE PRIVATE. |