Freigeben über


Basisfelder

Ein X.509 Version 1-Zertifikat enthält die folgenden Felder. Die Felder der Version 2 werden in Version 2-Feldererläutert. Die Felder der Version 3 werden in Version 3-Erweiterungenerläutert.

Version

Gibt die Versionsnummer des codierten Zertifikats an. Derzeit sind die möglichen Werte dieses Felds 0, 1 oder 2, aber dies kann 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 ganze Zahl, die von der Zertifizierungsstelle (CA) dem Zertifikat zugewiesen wird.

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

Signaturalgorithmus

Enthält einen Objektbezeichner (OID), der den Algorithmus angibt, der von der Zertifizierungsstelle zum Signieren des Zertifikats verwendet wird. Beispielsweise gibt 1.2.840.113549.1.1.5 einen SHA-1-Hashingalgorithmus in Kombination mit dem RSA-Verschlüsselungsalgorithmus von RSA Laboratories an.

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

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

Emittent

Enthält die X.500 Distinguished Name (DN) der Zertifizierungsstelle, 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ültigkeit

Gibt das Zeitintervall an, in dem das Zertifikat gültig ist. Datumsangaben bis Ende 2049 verwenden das Format Koordinierte Weltzeit (Greenwich Mean Time) (yymmddhhmmssz). Datumsangaben ab dem 1. Januar 2050 verwenden das generalisierte Zeitformat (yyymmddhhmmssz).

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

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

Betreff

Enthält einen X.500-Distinguished-Namen der Entität, die dem öffentlichen Schlüssel zugeordnet ist, der im Zertifikat enthalten 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 die zugehörigen Algorithmusinformationen.

---------------------------------------------------------------------
--  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