plumzero / memo-asn1c

usage of asn1c
4 stars 3 forks source link

请教一个问题 #1

Closed ouyangbob closed 4 years ago

ouyangbob commented 4 years ago

c-v2x 的普通消息和加密消息 如何区分呀?

plumzero commented 4 years ago

没接触过加密消息,只接触过签名消息

plumzero commented 4 years ago

会有不同的消息结构,如果是普通消息,会使用一般的非安全结构;如果是签名消息,会有特定的签名结构

ouyangbob commented 4 years ago

普通消息是 DSMP -> ASN1 UPER DATA(map、spat、rsi、rsm、bsm) 这个我理解, 但是签名消息不知道通过什么方式区分, 请问是 DSMP莫个属性区分还是啥?

plumzero commented 4 years ago

可能你说的签名消息和我说的签名消息结构不太一样,我说的签名消息类似这样 XXXContent ::= CHOICE { unsecuredData Opaque, signedData SignedData, encryptedData EncryptedData, signedCertificateRequest Opaque, ... } 如果是普通消息,就选择unsecuredData,如果是签名消息,就选择第二个;如果是加密消息,就选择第三个

ouyangbob commented 4 years ago

可能你说的签名消息和我说的签名消息结构不太一样,我说的签名消息类似这样 XXXContent ::= CHOICE { unsecuredData Opaque, signedData SignedData, encryptedData EncryptedData, signedCertificateRequest Opaque, ... } 如果是普通消息,就选择unsecuredData,如果是签名消息,就选择第二个;如果是加密消息,就选择第三个

了解了, 但是普通消息是一个 asn.1 uper 编码的和签名消息不一样, 签名消息是COER,如果这样的话那每次都需要先用COER解码然后如果是普通消息会报错然后在取 unsecuredData 用 uper 解码 感觉不太合理呀

plumzero commented 4 years ago

看应用场景,如果是通信,用uper没什么问题。coer一般用做车联网,相比来说还是比较窄的。不同的场景不同的编码格式,这样做也没什么毛病

ouyangbob commented 4 years ago

重点是如何区分消息类型, 如何判断Data 是普通消息还是签名消息。

plumzero commented 4 years ago

重点是如何区分消息类型, 如何判断Data 是普通消息还是签名消息。

不太清楚,这个很难判断。或许你可以先尝试按普通消息解析,如果失败再按签名消息解析。根据二者的比重,决定是将哪种解析放在前面

ouyangbob commented 4 years ago

重点是如何区分消息类型, 如何判断Data 是普通消息还是签名消息。

不太清楚,这个很难判断。或许你可以先尝试按普通消息解析,如果失败再按签名消息解析。根据二者的比重,决定是将哪种解析放在前面

好的, 谢谢你了啊