大家好,又见面了,我是你们的朋友全栈君。
先普及下基础知识, pfx是公钥加密技术12号标准(Public Key Cryptography Standards #12,PKCS#12)为存储和传输用户或服务器私钥、公钥和证书而指定的一个可移植的格式。它是一种二进制格式,这些文件也称为PFX文件。详见百科
我的pfx文件是由写C++的同事提供, 里面包含秘钥, 使用的时候需要先读取里面的数据,然后对数据进行base64编码,最后获得字符串
-
第一步, 将文件拖入工程
-
第二步, 获取文件路径
-
第三步, 转换
第一步, 拖入工程目录如下:
第二步, 获取文件路径:
这一步需要注意了,获取文件路径的时候不要偷懒使用这种方式
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"myp12.pfx" ofType:nil];
要使用
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"myp12" ofType:@"pfx"];
否则是获取不到该文件路径的!
第三步, 转换
// * 转data
// NSData *fileData = [NSData dataWithContentsOfFile:filePath];
NSFileHandle* fh = [NSFileHandle fileHandleForReadingAtPath:filePath];
NSData *fileData = [fh readDataToEndOfFile];
// * 输出
NSString *encodeString = [fileData base64EncodedStringWithOptions:0];
char *cString = (char *)[encodeString UTF8String];
其中encodeString, cString就是转换后的结果, encodeString对应OC字符串, cString对应C字符串.
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137715.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...