PKCS #7 특성
PKCS #7은 암호화 메시지 구문 표준입니다. PKCS #7 메시지는 그 자체로 인증서 요청을 구성하지 않지만 다음 콘텐츠 형식 중 하나를 사용하여 ContentInfo ASN.1 구조에서 PKCS #10 또는 CMC 요청을 캡슐화할 수 있습니다. 캡슐화를 사용하면 사용할 수 없는 여러 서명과 같은 추가 기능을 추가할 수 있습니다.
- Data
- SignedData
- EnvelopedData
- SignedAndEnvelopedData
- DigestedData
- EncryptedData
특성은 SignedData 콘텐츠 형식의 authenticatedAttributes 및 unauthenticatedAttributes 필드에 추가할 수 있습니다.
SignedData ::= SEQUENCE
{
version INTEGER,
digestAlgorithms DigestAlgorithmIdentifiers,
contentInfo ContentInfo,
certificates [0] IMPLICIT Certificates OPTIONAL,
crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
signerInfos SignerInfos
}
SignerInfos ::= SET OF SignerInfo
SignerInfo ::= SEQUENCE
{
version INTEGER,
sid CertIdentifier,
digestAlgorithm DigestAlgorithmIdentifier,
authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
digestEncryptionAlgorithm DigestEncryptionAlgId,
encryptedDigest EncryptedDigest,
unauthenticatedAttributes [1] IMPLICIT Attributes
}
Attributes ::= SET OF Attribute
Attribute ::= SEQUENCE
{
type EncodedObjectID,
values AttributeSetValue
}
CA(인증 기관)에서 클라이언트의 프라이빗 키를 보관하는 데 필요한 프로세스는 인증된(서명된) 특성과 인증되지 않은 특성을 사용하는 방법에 대한 포괄적인 예제를 제공합니다.
클라이언트는 IX509CertificateRequestPkcs10 개체를 만들고 요청되는 인증서 유형에 적절한 데이터를 추가합니다.
클라이언트는 PKCS #10 요청을 사용하여 IX509CertificateRequestCmc 개체를 초기화합니다. PKCS #10 요청은 CMC 요청의 TaggedRequest 구조에 배치됩니다. 자세한 내용은 CMC 특성을 참조하세요.
클라이언트는 프라이빗 키를 암호화하고 이를 사용하여 IX509AttributeArchiveKey 개체를 초기화합니다. 새 ArchiveKey 특성은 EnvelopedData 구조체에 캡슐화됩니다.
EnvelopedData ::= SEQUENCE { version INTEGER, recipientInfos RecipientInfos, encryptedContentInfo EncryptedContentInfo } RecipientInfos ::= SET OF RecipientInfo EncryptedContentInfo ::= SEQUENCE { contentType ContentType, contentEncryptionAlgorithm ContentEncryptionAlgId, encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL } EncryptedContent ::= OCTET STRING RecipientInfo ::= SEQUENCE { version INTEGER, issuerAndSerialNumber IssuerAndSerialNumber, keyEncryptionAlgorithm KeyEncryptionAlgId, encryptedKey EncryptedKey }
클라이언트는 암호화된 키의 SHA-1 해시를 만들고 이를 사용하여 IX509AttributeArchiveKeyHash 개체를 초기화합니다.
클라이언트는 CMC 요청에서 CryptAttributes 컬렉션을 검색하고 ArchiveKey 및 ArchiveKeyHash 특성을 추가 합니다. 특성은 CMC 요청의 TaggedAttributes 구조에 배치됩니다.
클라이언트는 CMC 요청을 사용하여 IX509CertificateRequestPkcs7 개체를 초기화합니다. 이렇게 하면 CMC 요청이 PKCS #7 SignedData 구조체의 contentInfo 필드에 배치됩니다.
ArchiveKeyHash 특성은 서명되어 SignerInfo 구조체의 authenticatedAttributes 시퀀스에 배치됩니다.
ArchiveKey 특성은 PKCS #7 메시지의 기본 서명자와 연결된 SignerInfo 구조체의 인증되지 않은Attributes 시퀀스에 배치됩니다.
관련 항목