XGEN: Kurze Einführung in ASN.1 und BER

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 252648 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
252648 XGEN: A Brief Introduction to ASN.1 and BER
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt ASN.1 (Abstract Syntax Notation One) und BER (Basic Encoding Rules) und stellt die Unterschiede zwischen beiden dar.

Viele Personen, die im Bereich der Informationstechnologie tätig sind, selbst erfahrene Experten, sind sich oft nicht im Klaren, was ASN.1 und BER bedeutet, worin die Unterschiede zwischen beiden bestehen und warum eine Unterscheidung überhaupt notwendig ist. Die Verwirrung ist verständlich, wenn selbst Personen, die ASN.1 und BER häufig verwenden, Begriffe oft falsch verwenden.

Da es sich bei ASN.1 um einen Datenstandard handelt, werden Standardempfehlungen häufig in ASN.1 geschrieben. Support-Mitarbeiter, Berater und IT-Experten profitieren von ASN.1, da sie damit einen tiefen Einblick in Standards erlangen und den Inhalt von fehlerhaften Daten decodieren und verstehen können. Das International Telegraph and Telephone Consultative Committee (CCITT) und die International Telecommunications Union (ITU) erstellen die gängigsten in ASN.1 geschriebenen Standards. Mitglieder der Internet Engineering Task Force (IETF) verwenden jedoch zunehmend ASN.1, um ihre Empfehlungen in knapper und präziser Form darzulegen. Mit ASN.1 kann auf einer Seite ausgedrückt werden, wofür sonst fünf oder sechs Seiten in einem anderen Format erforderlich wären.

Nachfolgend finden Sie eine Liste häufig verwendeter Standards, die in ASN.1 geschrieben sind:
  • X.400 (Elektronische Nachrichten)
  • X.500 (Verzeichnisdienste)
  • X.200 (Netzwerkkommunikation)
  • Request for Comments (RFC) 2251-2256 (Lightweight Directory Access Protocol = LDAP)
  • Viele weitere RFCs
Alle Computerexperten oder Spezialisten in der Datenkommunikation, die sich von anderen Spezialisten abheben möchten, müssen zumindest über Grundkenntnisse in ASN.1. und BER verfügen. Da sowohl in Microsoft Windows 2000 als auch in Microsoft Exchange 2000 Server die oben erwähnten Standards in der einen oder anderen Form implementiert sind, ist die Problembehandlung bei diesen beiden Produkten erheblich einfacher, wenn die entsprechenden Personen ASN.1 und BER lesen können und verstehen.

Weitere Informationen

ASN.1

Abstract Syntax Notation One (besser bekannt als ASN.1) ist eine Sprache zur Definition von Standards ohne Berücksichtigung der Implementierung. Standards werden in dieser Sprache verfasst. Wenn John Smith bei CalTech eine Empfehlung für die Standardisierung der Vorgänge einer Komponente für die Kommunikation mit einer anderen Komponente erstellen möchte, so verfasst er die Empfehlung in ASN.1 und übergibt den Vorschlag an eine Normungsorganisation, wie die ITU. Durch ASN.1 wird die Kommunikation zwischen Experten und Komiteemitgliedern erleichtert, da ASN.1 als gemeinsame Sprache zur Beschreibung eines Standards dient. ASN.1 ist in den Empfehlungen "ITU-T Recommendations" X.209 und X.690 definiert.


In ASN.1 ist beispielsweise definiert:
  • was ein "Typ" ist.
  • was ein "Modul" ist und wie dieses auszusehen hat.
  • was INTEGER bedeutet.
  • was ein "Boolescher Wert" ist.
  • was ein "strukturierter Typ" ist.
  • was bestimmte Schlüsselwörter bedeuten (beispielsweise BEGIN, END, IMPORT, EXPORT usw.).
  • wie ein Typ gekennzeichnet wird, damit er korrekt codiert wird.
ASN.1 steht nicht im Zusammenhang mit einem bestimmten Standard, einer Codierungsmethode, einer Programmiersprache oder einer Hardwareplattform. Es handelt sich einfach um eine Sprache zur Definition von Standards. In anderen Worten eine Sprache für Standards, die in ASN.1 geschrieben.

BER

BER ist der allgemeine Name für "Basic Encoding Rules" von ASN.1. BER ist in den Empfehlungen "ITU-T Recommendations" X.209 und X.690 definiert. Bei BER handelt es sich um eine Reihe von Regeln zur Codierung von ASN.1-Daten in einen Oktettstrom, die über eine Kommunikationsverbindung übertragen werden können. Weitere Codierungsmethoden für ASN.1-Daten sind "Distinguished Encoding Rules" (DER), "Canonical Encoding Rules" (CER) und "Packing Encoding Rules" (PER). Jede Codierungsmethode verfügt über ihre eigene Anwendung, am häufigsten verwendet als Codierungsmethode wird jedoch BER.

In BER wird Folgendes definiert:
  • Methoden für die Codierung von ASN.1-Werten.
  • Regeln zur Festlegung, wann eine bestimmte Methode verwendet wird.
  • Das Format von bestimmten Oktetten in den Daten.

Gegenüberstellung von ASN.1 und BER

Bei ASN.1 handelt es sich um eine Programmiersprache, z. B. "C", wohingegen es sich bei BER um einen Compiler für diese Sprache handelt. Compiler sind plattformspezifisch, viele komplexe Programmiersprachen hingegen nicht. "C" definiert die Regeln und die Sprache für das Schreiben eines Programms. Dabei wird das Programm nicht als "C" bezeichnet, es wird lediglich in "C" geschrieben. Das Programm kann erst verwendet werden, wenn es für eine bestimmte Plattform kompiliert wird, z. B. Intel x86. Genauso verhält es sich mit ASN.1 und BER. ASN.1. ist die Sprache, in der ein Standard geschrieben wird. Ein Standard wird jedoch nicht als ASN.1 bezeichnet, er wird in ASN.1 geschrieben. Daten, die von einem Programm erstellt werden, die dem Standard entsprechen, werden umgangssprachlich häufig als "ASN.1-Daten" bezeichnet. ASN.1 können erst verwendet werden, d. h. über ein LAN übertragen werden, wenn die ASN.1-Daten zu einem Oktettstrom codiert werden, der am Ziel problemlos decodiert werden kann. Nachfolgend finden Sie zur Veranschaulichung ein Beispiel mit diesen Begriffen, abgeleitet aus der Empfehlung "ITU-T Recommendation X.209, Appendix I". Es handelt sich um eine formlose Beschreibung eines Personal-Datensatzes:
   Name:             Jan Peter Schmidt
   Geburtsdatum:     17.07.1959
   (weitere Daten)
					
Die ASN.1-Beschreibung eines Personal-Datensatzes (Standard) könnte folgendermaßen aussehen:
   PersonnelRecord ::= [APPLICATION 0] IMPLICIT SET {
       Name,
       Titel [0]       VisibleString,
       Geburtsdatum [1]          Date,
       (weitere Definitionen von Datentypen)          }

   Name ::= [APPLICATION 1] IMPLICIT SEQUENCE {
       Vorname       VisibleString,
       Mittelname    VisibleString, 
       Nachname      VisibleString  }
					
Anhand dieser ASN.1-Beschreibung wird das Aussehen von "PersonnelRecord" (Personal-Datensatz) beschrieben. Von größerer Bedeutung ist jedoch, dass beschrieben wird, wie Anwendungsdaten formatiert sein sollten, damit vor der Codierung ASN.1.-Daten daraus entstehen können.

Anschließend werden die Personaldaten von der Anwendung der Struktur des Personal-Datensatzes (ASN.1.-Datenformat) zugeordnet; dann werden die Basic Encoding Rules (BER) auf die ASN.1-Daten angewendet. Dies könnte folgendermaßen aussehen (die Namen würden jedoch in ASCII umgewandelt werden):
  Personnel
  Record     Length   Contents
  60         8185
                      Name     Length  Contents
                      61       10
                                       VisibleString  Length  Contents
                                       1A             04      "Jan"
                                       VisibleString  Length  Contents
                                       1A             01      "Peter"
                                       VisibleString  Length  Contents
                                       1A             05      "Schmidt"

                       Geburtsdatum    Length  Contents
                       A0              0A
                                               Date    Length  Contents
                                               43      08      "19590717"
					
Schlussendlich wird tatsächlich Folgendes übertragen, genauer gesagt, in den Datenabschnitt des Pakets bei der nächstunteren Schicht umgewandelt:
60 81 85 61 10 1A 04 ....
....  0A 43 08 19 59 07 17
					

Verweise

Weitere Informationen zu ASN.1 erhalten Sie in der Empfehlung "ITU-T Recommendation" X.680 bis X.683.
Weitere Informationen zu BER erhalten Sie in der Empfehlung selbst (ITU-T Recommendation X.690 bzw. X.691).

Um weitere Informationen zu erhalten, lesen Sie das Thema "Changing from ASN.1:1988 to ASN.1:2002" auf der Webseite der ITU-T Study Group 17 durch:
http://www.itu.int/ITU-T/studygroups/com17/changing-ASN/

Eigenschaften

Artikel-ID: 252648 - Geändert am: Dienstag, 11. Mai 2004 - Version: 4.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Exchange Server 5.5 Standard Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
Keywords: 
kbinfo KB252648
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com