【发布时间】:2021-12-28 13:25:32
【问题描述】:
uint8_t certificateSerialNumber[] = {0x02, 0x04, 0x24,0xA8,0x16,0x34};
十进制614995508(实际序列号)转换为十六进制24A81634。
上面的unit8数组是序列号TLV(tag length value)三元组上的表示 其中T为0X02,L为0X04,V为十六进制字符串。
所以我可以一次将十六进制字符串分成两个字符
如何在objective-c中的unit8_t数组中将十六进制转换为TLV三元组格式? 参考:https://docs.microsoft.com/en-us/windows/win32/seccertenroll/about-integer
【问题讨论】:
-
什么是“字符串/整数”?
-
此参考资料可能会有所帮助:stackoverflow.com/questions/16635548/…
-
将类型从 'uint8_t' 更改为纯 'int' 并使用上述参考中的解决方案;它应该工作。如果不起作用,请发布问题代码。
-
您确定您的数据没有加密吗?
-
@LeoDabus Thanq 回复我的数组是 ASN.1 表示
标签: objective-c nsstring der tlv asn.1