-
Notifications
You must be signed in to change notification settings - Fork 459
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to encode [0] IMPLICIT SET OF? #622
Comments
It's possible that this currently can't be done with any ltc version. Can you provide an example "CMS SignedData certificate" in encoded format (i.e. the expected output)? |
The CMS spec RFC 5652 uses a CONTEXT SENSITIVE [0] IMPLICIT SET OF for the certificates member of a SignedData structure. A second example in CMS is the signedAttrs member of a SignerInfo structure. But, maybe a toy example will be more useful here. In the example below, the integers are sorted by their DER encoding. This is implemented in
When the data type |
This fixes #622 Signed-off-by: Steffen Jaeckel <[email protected]>
This fixes #622 Signed-off-by: Steffen Jaeckel <[email protected]>
The function It wouldn't be a bad idea to modify |
This fixes #622 Signed-off-by: Steffen Jaeckel <[email protected]>
I just had a look at #624, and it does appear to answer this issue. |
Prerequisites
LTC_ARGCHK 'ltc_mp.name != NULL' failure ...
). c.f. Ch. "Math Descriptors" of the developer manual.Description
How can I construct, using libtomcrypt release 1.18.2, a struct of type
ltc_asn1_list
that, when nested inside a SEQUENCE and encoded, will produce an encoded DER SET OF with an IMPLICIT CONTEXT SENSITIVE [0] tag (as in CMS SignedData certificates, for example)?If I set
list.type = LTC_ASN1_SETOF
, I get a properly encoded SET but the tag is 0x31 (UNIVERSAL SET). I can manually change the tag after encoding to 0xA0, except that the SET is nested inside layers of ASN.1 data. If I uselist.type = LTC_ASN1_CUSTOM_TYPE
, I can get the tag I want, but the functionder_encode_custom_type()
encodes the items like a SEQUENCE, not in sorted order like a DER SET. If I use the macroLTC_SET_ASN1_CUSTOM_CONSTRUCTED
, I can nest a SET inside a custom typed SEQUENCE, creating an EXPLICIT tag.Am I missing something? Is there a solution in the latest developer version? It seems that I must either change the tag manually after encoding, or else pre-sort the items manually within the array
list.data
. A fix would be to look duringder_encode_custom_type()
forlist.used=LTC_ASN1_SETOF
.Steps to Reproduce
Version
Release 1.18.2
Additional Information
The text was updated successfully, but these errors were encountered: