Soit j'ai un asn:asn1c continue d'utiliser longtemps au lieu de INTEGER_t mais je ne demande pas pour que
A ::= SEQUENCE {
a INTEGER (0 .. 255),
b INTEGER (0 .. 255),
c INTEGER (0 .. 65535),
d INTEGER (0 .. 65535),
e [0] INTEGER (0 ..255) OPTIONAL,
f[1] INTEGER (0 .. 63) OPTIONAL
}
Je compile sans fnative-types, mais le code ressemble
typedef struct A{
long a;
long b;
long c;
long d;
long *e/* OPTIONAL */;
long *f/* OPTIONAL */;
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
} A_t;
Pourquoi ça? Il provoque une séquence d'octets DER longue.
ne peut pas répondre car je ne suis pas familier avec le compilateur asn1c. Cependant, le codage DER est garanti unique. Donc, quelle que soit la structure de l'équivalent C, les champs INTEGER seront toujours codés avec le plus petit nombre d'octets requis. – jsantander