IOS app下加密证书的坑

Jan 14, 2023

昨天搞了一个app,里边使用了双端证书校验.明显的P12转换成了base64.但是,解密出来的base64文件并不是P12格式.而是多了很多0xc2的垃圾字符.考虑是编码模式问题.但是并不知道怎么转换.研究了一天才发现使用的NSISOLatin1StringEncoding这么个编码参数.很烦.记录一下转换代码.方便后来人...不要跟我一样因为编码问题浪费大把时间...

import base64

base64data = ""
decode64 = base64.b64decode(base64data.encode("utf-8"))
str64 = decode64.decode('utf8').encode('latin1')
with open('./1.p12', 'wb+') as f:
    f.write(str64)
print(str64)