RecipientInfo ::= CHOICE {
ktri KeyTransRecipientInfo,
kari [1] KeyAgreeRecipientInfo,
kekri [2] KEKRecipientInfo,
pwri [3] PasswordRecipientInfo,
ori [4] OtherRecipientInfo }
KeyAgreeRecipientInfo ::= SEQUENCE { ... }
Con el esquema ASN.1 anterior, ¿cómo sería un RecipientInfo.kari
codificado en DER?
-
A1 <length> <KeyAgreeRecipientInfo fields>...
- o
A1 <length> 30 <length> <KeyAgreeRecipientInfo fields>...
El módulo utiliza el etiquetado predeterminado implícito, por lo que creo que debería ser el primero, pero la herramienta de seguridad de Apple está codificando con el segundo.
Para ver de qué estoy hablando, haz:
security cms -E -r <identity> -i <file> | openssl asn1parse -inform der
y lo verás en la salida:
24:d=4 hl=4 l= 374 cons: cont [ 1 ]
28:d=5 hl=4 l= 370 cons: SEQUENCE
¡Gracias!