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 без тегов, который вы помечаете, поэтому ваш тег сделан явным.