ASN.1 형식 시스템

데이터 형식의 개념은 ASN.1(추상 구문 표기법 1) 표준의 기본 사항입니다. 인증서 요청 구조의 모든 필드는 형식과 연결됩니다. 예를 들어 다음 예제에 표시된 PKCS #10 ASN.1 인증서 구문을 고려합니다.

--------------------------------------------------------------------
-- PKCS #10 Certificate request.
--------------------------------------------------------------------
CertificationRequestInfo ::= SEQUENCE 
{
   version                 CertificationRequestInfoVersion,
   subject                 Name,
   subjectPublicKeyInfo    SubjectPublicKeyInfo,
   attributes              [0] IMPLICIT Attributes
}

--------------------------------------------------------------------
-- Version number.
--------------------------------------------------------------------
CertificationRequestInfoVersion ::= INTEGER

--------------------------------------------------------------------
-- Subject distinguished name (DN).
--------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName

RelativeDistinguishedName ::= SET OF AttributeTypeValue

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

--------------------------------------------------------------------
-- Public key information.
--------------------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE 
{
   algorithm           AlgorithmIdentifier,
   subjectPublicKey    BITSTRING
}

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

--------------------------------------------------------------------
-- Attributes.
--------------------------------------------------------------------
Attributes ::= SET OF Attribute

Attribute ::= SEQUENCE 
{
   type               OBJECT IDENTIFIER,
   values             AttributeSetValue
}

AttributeSetValue ::= SET OF ANY

상위 수준 요청 구조인 CertificationRequestInfo는 다른 형식의 시퀀스로 구성된 형식입니다. 형식이 이거나 기본 형식, 문자열 형식 또는 ANY만 포함된 경우 더 이상 세분화할 수 없습니다. 예를 들어 버전 필드는 다른 형식에서 구성되지 않은 기본 ASN.1 형식인 INTEGER 형식인 CertificationRequestInfoVersion 형식입니다.

형식 시스템을 사용하면 개발자가 쉽게 이해할 수 있는 방식으로 요청 구문을 시각적으로 표시할 수 있으며, 네트워크를 통해 전송을 위해 요청을 일관되게 인코딩할 수 있습니다. 인코딩에 대한 자세한 내용은 Distinguished Encoding Rules 참조하세요. ASN.1 형식에 대한 자세한 내용은 다음 topics 참조하세요.

기본 형식

다음 데이터 형식에 대해 설명합니다.

  • BIT STRING
  • BOOLEAN
  • INTEGER
  • NULL
  • 개체 식별자
  • 8진수 문자열

문자열 형식

다음 문자열 형식에 대해 설명합니다.

  • BMPString
  • IA5String
  • PrintableString
  • TeletexString
  • UTF8String

생성 형식

기본 형식, 문자열 형식 또는 기타 생성된 형식을 포함할 수 있는 ASN.1 데이터 형식에 대해 설명합니다.

 

인증서 요청 인코딩

ASN.1 형식의 DER 인코딩

Distinguished Encoding Rules

ASN.1 구문 및 인코딩 소개