让我有一个asn:
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
}
我使用fnative-types编译它,但代码看起来像
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;
为什么这样?它导致长DER字节序列
答案 0 :(得分:0)
根据您使用的ASN.1编译器,您可以指定用于结构字段的C变量类型。
在Objective Systems工具集中,您可以拥有一个XML配置文件,该文件与ASN.1模式一起输入到编译器。这允许您告诉ASN.1编译器应该为a,b,c等使用什么类型的整数。
答案 1 :(得分:0)
要通过asn1c强制创建结构,请将其与export const authenticate = (req, res) =>
new Promise((resolve, reject) => {
passport.authenticate(
[passport strategy],
{ session: false },
(err, user) => {
if (err) reject(new Error(err))
else if (!user) reject(new Error('Not authenticated'))
resolve(user)
})(req, res)
})
选项一起使用。