Certificate Signing Request
openssl req

Der Besitzer eines public keys ( der aus einem private key erstellt werden kann ), erstellt einen Certificate Signing Request ( CSR ). Dabei wird der private key verwendet, ein public key erzeugt und mit dem Distinguished Name ( DN ) gemäß X.500 versehen.
Der DN enthält folgende Informationen :

countryName eine Landesbezeichnung, i.A. 2 Zeichen ( z.B. DE für Deutschland )
stateOrProvinceNameBezeichnung des Bundesstaates oder Bundeslandes
localityNameName der Stadt
organizationNameFirmenbezeichnung
organizationalUnitName Abteilungsbezeichnung
commonNameDer Servername (Hostname), auf dem das Zertifikat verwendet wird
emailAddressKontaktadresse

Mit Hilfe des DN können bestimmte Regeln definiert werden ( policy ), wie solch ein Request von der CA verarbeitet wird. Ist der Antragsteller eine Privatfirma, so muß i.A. nichts von seinem DN mit dem DN der CA übereinstimmen. Ist der Antragsteller aber eine "Unter-CA" ( bei hierarchischen Strukturen ), so kann von der CA, die das Zertifikat ausstellt, verlangt werden, daß Teile des DNs mit Teilen ihres DNs übereinstimmen.
Vergleiche dazu die Abschnitte [ policy-match ] und [ policy-anything ] in der openssl.cnf.

Beispiel : Privatfirma (Bank of NSE) erstellt CSR
Voraussetzung : private key in einer Datei bonse_priv.pem
( openssl genrsa -out bonse_priv.pem 1024 )

thin1:/usr/share/ssl # openssl req -new -key bonse_priv.pem -out bonse.csr
Using configuration from /usr/share/ssl/openssl.cnf
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]:DE
State or Province Name (full name) [Some-State]:Schleswig-Holstein
Locality Name (eg, city) []:Kiel
Organization Name (eg, company) [Internet
Widgits Pty Ltd]:Bank of NSE
Organizational Unit Name (eg, section) []:Security
Section
Common Name (eg, YOUR name) []:nseXX.nse
Email Address []:root@nseXX.nse

Bemerkung : Im Abschnitt [ req ] wurde die Variable attributes = req_attributes auskommentiert.
Die Datei mit dem Request hat folgenden Inhalt :

thin1:/usr/share/ssl # cat bonse.csr
-----BEGIN CERTIFICATE REQUEST-----
MIIB3jCCAUcCAQAwgZ0xCzAJBgNVBAYTAkRFMRswGQYDVQQIExJTY2hsZXN3aWct
SG9sc3RlaW4xDTALBgNVBAcTBEtpZWwxFDASBgNVBAoTC0Jhbmsgb2YgTlNFMRkw
FwYDVQQLExBTZWN1cml0eSBTZWN0aW9uMRIwEAYDVQQDEwluc2VYWC5uc2UxHTAb
BgkqhkiG9w0BCQEWDnJvb3RAbnNlWFgubnNlMIGfMA0GCSqGSIb3DQEBAQUAA4GN
ADCBiQKBgQDWCdNsAIYP9C6DNnNiX4UnP7sLtnNFTL82gh19uj61JGQaI70uKzRs
0NN1OKHH0tD4opejeuFjwrvZYkRH8q45hucyB47/3sQXVHTIbMO4051pizK8jzPc
MKspHD9ipxm80C/oXiAYjByMs4GdJvdLqLIeuVQNANIg2ZQqgji6swIDAQABoAAw
DQYJKoZIhvcNAQEEBQADgYEAF/AXGszKqGbq5ATohEWV91m2PQ/X4e6EPzWGPQRq
kFIonDbY2FdDw4rIovdFkf4uVE5zBs6mFHKv6bocLTYyYsOCi3fKqcBKVVgU1NNx
IqigypmomBKedm3ZKgnRY618XjvmaL2GX3zjvBL07qpBmsotLzGooTbeZKS5LChY
1OY=
-----END CERTIFICATE REQUEST-----