Freigeben über


Grundlegende Felder

Ein X.509 Version 1-Zertifikat enthält die folgenden Felder. Version 2-Felder werden in Version 2-Feldern erläutert. Version 3-Felder werden in Version 3-Erweiterungen erläutert.

Version

Gibt die Versionsnummer des codierten Zertifikats an. Derzeit sind die möglichen Werte dieses Felds 0, 1 oder 2, dies kann jedoch in Zukunft erweitert werden.

---------------------------------------------------------------------
-- Version number. Currently, this can be 0, 1, or 2.
---------------------------------------------------------------------
CertificateVersion ::= INTEGER {v1(0), v2(1), v3(2)}

Seriennummer

Enthält eine positive, eindeutige Ganzzahl, die dem Zertifikat von der Zertifizierungsstelle zugewiesen wurde.

---------------------------------------------------------------------
-- Certificate serial number
---------------------------------------------------------------------
CertificateSerialNumber ::= INTEGER

Signaturalgorithmus

Enthält einen Objektbezeichner (OID), der den Algorithmus angibt, der von der CA zum Signieren des Zertifikats verwendet wird. 1.2.840.113549.1.1.5 gibt beispielsweise einen SHA-1-Hashalgorithmus an, der mit dem RSA-Verschlüsselungsalgorithmus von RSA Laboratories kombiniert ist.

---------------------------------------------------------------------
-- Signature OID
---------------------------------------------------------------------
signature ::= AlgorithmIdentifier

AlgorithmIdentifier ::= SEQUENCE 
{
  algorithm           OBJECT IDENTIFIER,
  parameters          ANY OPTIONAL    
}

Issuer (Aussteller)

Enthält den X.500-Namen (Distinguished Name, DN) der Ca, die das Zertifikat erstellt und signiert hat.

---------------------------------------------------------------------
-- Issuer name 
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName

RelativeDistinguishedName ::= SET OF AttributeTypeValue

AttributeTypeValue ::= SEQUENCE 
{
  type       OBJECT IDENTIFIER,
  value      ANY 
}

Gültigkeitsdauer

Gibt die Zeitspanne an, für die das Zertifikat gültig ist. Datumsangaben bis Ende 2049 verwenden das Koordinierte Universelle Zeitformat (Greenwich Mean Time) (yyymmddhmmssz). Datumsangaben ab dem 1. Januar 2050 verwenden das generalisierte Zeitformat (yymmdhhmmssz).

---------------------------------------------------------------------
-- Validity period 
---------------------------------------------------------------------
Validity ::= SEQUENCE 
{
  notBefore           ChoiceOfTime,
  notAfter            ChoiceOfTime
}

ChoiceOfTime ::= CHOICE 
{
  utcTime                 UTCTime,
  generalTime             GeneralizedTime
}

Subject

Enthält einen X.500-Distinguished Name der Entität, die dem öffentlichen Schlüssel im Zertifikat zugeordnet ist.

---------------------------------------------------------------------
-- Subject name 
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName

RelativeDistinguishedName ::= SET OF AttributeTypeValue

AttributeTypeValue ::= SEQUENCE 
{
  type       OBJECT IDENTIFIER,
  value      ANY 
}

Öffentlicher Schlüssel

Enthält den öffentlichen Schlüssel und Informationen zum zugehörigen Algorithmus.

---------------------------------------------------------------------
--  Subject public key information
---------------------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE 
{
  algorithm           AlgorithmIdentifier,
  subjectPublicKey    BITSTRING
}

AlgorithmIdentifier ::= SEQUENCE 
{
  algorithm           OBJECT IDENTIFIER,
  parameters          ANY OPTIONAL    
}

Version 2-Felder

Version 3-Erweiterungen

X.509 Public Key-Zertifikate