PKCS15 PKCS15Недопонимание тегирования объекта

Делая с ASN.1 и расшифровывая PKCS #15 токен, я обнаружил, что я не понимаю, почему теги [0] а также [1] объекта PKCS15Object является EXPLICIT и неявным, как он объявил DEFINITIONS IMPLICIT TAGS пункт.

PKCS-15 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
         pkcs-15(15) modules(1) pkcs-15(1)} 

-- $Revision: 1.7 $ --

DEFINITIONS IMPLICIT TAGS ::=

...

PKCS15Object {ClassAttributes, SubClassAttributes, TypeAttributes}
    ::= SEQUENCE {
    commonObjectAttributes  CommonObjectAttributes,
    classAttributes         ClassAttributes,
    subClassAttributes      [0] SubClassAttributes OPTIONAL <<--- explicit?,
    typeAttributes          [1] TypeAttributes              <<--- explicit?
}

PrivateKeyObject {KeyAttributes} ::= PKCS15Object { 
    CommonKeyAttributes, CommonPrivateKeyAttributes, KeyAttributes}

PrivateKeys  ::= PathOrObjects {PrivateKeyType}

PrivateKeyType ::= CHOICE {
    privateRSAKey   PrivateKeyObject {PrivateRSAKeyAttributes},
    privateECKey    [0] PrivateKeyObject {PrivateECKeyAttributes},
    ... -- For future extensions
}

PrivateRSAKeyAttributes ::= SEQUENCE {
    value           ObjectValue {RSAPrivateKeyObject},
    modulusLength   INTEGER, -- modulus length in bits, e.g. 1024
    keyInfo         KeyInfo {NULL, PublicKeyOperations} OPTIONAL,
    ... -- For future extensions
} 

Пожалуйста, кто-нибудь, объясните мне это.

1 ответ

Решение

Это связано с правилом 31.2.7 (c) в X.680. У вас есть тег DummyReference без тегов, который вы помечаете, поэтому ваш тег сделан явным.

Другие вопросы по тегам