X.509-Zertifikate
Für X.509-Zertifikate muss im Zertifikats-Template der Zertifikatstyp (Strukturtyp) x509CertificateTemplate gewählt werden
(siehe Grundsätzlicher Aufbau).
X.509-Zertifikate sind digitale Zertifikate, welche in einem hierarchischen System von vertrauenswürdigen Zertifizierungsstellen verwendet werden können. X.509-Zertifikate sind immer an einen „Distinguished Name“ oder einen „Alternative Name“ wie eine E-Mail-Adresse gebunden. Das Profil von X.509-Zertifikaten (Version 3) ist in [RFC X.509] definiert. Neben Standardangaben wie z.B. Seriennummer, Aussteller, Zertifikatsinhalten, Gültigkeit und Schlüsselinformationen kann X.509-Zertifikat sogenannte Erweiterungen (Extensions) besitzen, welche in X.509-Extensions) beschrieben werden.
Attribute
| Attributname | Erläuterung |
|---|---|
|
Legt fest, ob es sich um ein RA-Zertifikat handelt. Mögliche Werte sind Die Angabe ist optional. Das Attribut sollte nicht in Kombination mit dem |
|
Legt fest, ob es sich um ein OIDC User-Zertifikat handelt. Mögliche Werte sind Die Angabe ist optional. Das Attribut sollte nicht in Kombination mit dem |
|
Legt die Kodierung der Strings für das Zertifikat fest. Mögliche Werte sind in der Gültige Werte für charset beschrieben. Die Angabe ist optional. |
| Zeichensatz | Erläuterung |
|---|---|
|
Es wird eine Standardkodierung verwendet, d.h. wenn möglich PrintableString, ansonsten UTF-8. Ausgenommen sind hier die Felder, bei denen eine Kodierung fest vorgegeben ist, z.B. emailAddress (IA5String). Diese Kodierung wird als Standard verwendet, wenn keine angegeben ist. |
|
Es sind nur ASCII-Zeichen erlaubt. Ausgenommen sind auch hier die Felder, bei denen eine Kodierung vorgegeben ist. |
|
Alle Strings werden UTF-8 kodiert. Ausgenommen sind auch hier die Felder, bei denen eine Kodierung vorgegeben ist. |
Unterelemente
| Element-Name | Erläuterung |
|---|---|
|
Mit diesem XML-Element kann festgelegt werden, ob die Seriennummer des Zertifikats zufällig erzeugt wird. Das XML-Element sollte keine Daten enthalten, es muss nur angegeben werden. Es muss nur das Attribut Wenn das XML-Element nicht angegeben ist, wird die Seriennummer bei 1 beginnend heraufgezählt. Dieses XML-Tag ist im Allgemeinen optional; bei Einsatz eines MariaDB Galera-Clusters als Cara-Datenbank werden hochzählende Seriennummern allerdings nicht unterstützt. Hier muss das XML-Tag Beispiel:
|
|
Festlegung der Struktur des DN (Distinguished Name). Eine Beschreibung ist in dnDefinitionType zu finden. Dieses XML-Element muss angegeben werden. |
|
Festlegung der möglichen Extensions, welche im Zertifikat verwendet werden können. Aufbau:
Eine Beschreibung der unterstützten Extensions ist in X.509-Extensions zu finden. Eine Definition von Extensions ist optional. |
|
Angabe des Signaturalgorithmus. Eine Beschreibung ist in signatureType zu finden. Dieses XML-Element muss angegeben werden. |
|
Angaben zur Gültigkeit des Zertifikats. Wert: ValidityType (siehe ValidityType) . Dieses XML-Element muss angegeben werden. |
|
Hiermit werden Parameter des Schlüssels festgelegt. Eine Beschreibung ist in den KeyAttributesEncoding und KeyAttributesQuality zu finden. Dieses XML-Element ist optional. |
Beispiel
<?xml version="1.0" encoding="UTF-8"?>
<certificateTemplate xmlns="http://cara2.project.MTG/certificate/template" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<x509CertificateTemplate>
<dnDefinition>
<dnAttribute>
<oid>2.5.4.6</oid><identName>id.country</identName>
</dnAttribute>
<dnAttribute>
<oid>2.5.4.10</oid><identName>id.orgName</identName>
</dnAttribute>
<dnAttribute>
<oid>2.5.4.11</oid><identName>id.orgUnitName1</identName>
</dnAttribute>
<dnAttribute mandatory="true">
<oid>2.5.4.3</oid><identName>id.commonName</identName>
</dnAttribute>
</dnDefinition>
<extensions>
<extension>
<subjectKeyIdentifier/>
</extension>
<extension critical="true">
<keyUsage digitalSignature="true" keyEncipherment="true"/>
</extension>
<extension>
<basicConstraints ca="false"/>
</extension>
</extensions>
<signature>
<algorithm>
<default>1.2.840.113549.1.1.11</default>
</algorithm>
</signature>
<validity>
<max><year>3</year><month>0</month><day>0</day></max>
<default><year>1</year><month>0</month><day>0</day></default>
</validity>
</x509CertificateTemplate>
</certificateTemplate>