iOS 处理pfx文件

iOS 处理pfx文件先普及下基础知识,pfx是公钥加密技术12号标准(PublicKeyCryptographyStandards#12,PKCS#12)为存储和传输用户或服务器私钥、公钥和证书而指定的一个可移植的格式。它是一种二进制格式,这些文件也称为PFX文件。详见百科我的pfx文件是由写C++的同事提供,里面包含秘钥,使用的时候需要先读取里面的数据,然后对数据进行base64编码,最后获得字

大家好,又见面了,我是你们的朋友全栈君。

先普及下基础知识, 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字符串.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137715.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • months_between的使用

    months_between的使用months_between用于计算两个日期之间相差的月数语法:months_between(date1,date2)举例a20210201与20210301selectmonths_bet

    2022年6月30日
    26
  • SpringBoot与SpringCloud的版本对应详细版[通俗易懂]

    SpringBoot与SpringCloud的版本对应详细版[通俗易懂]缘起初学springcloud的朋友可能不知道,其实SpringBoot与SpringCloud需要版本对应,否则可能会造成很多意料之外的错误,比如eureka注册了结果找不到服务类啊,比如某些jar导入不进来啊,等等这些错误。下面列出来springBoot和springcloud的版本对应关系,需要配套使用,才不会出现各种奇怪的错误。关于maven仓库的版本列表spring-cloud…

    2022年4月29日
    242
  • 协同过滤推荐算法代码实现(rsa算法例题)

    什么是协同过滤协同过滤是利用集体智慧的一个典型方法。要理解什么是协同过滤(CollaborativeFiltering,简称CF),首先想一个简单的问题,如果你现在想看个电影,但你不知道具体看哪部,你会怎么做?大部分的人会问问周围的朋友,看看最近有什么好看的电影推荐,而我们一般更倾向于从口味比较类似的朋友那里得到推荐。这就是协同过滤的核心思想。换句话说,就是借鉴和你相关人群的观点来进行推

    2022年4月17日
    41
  • 监控android USB拔插

    监控android USB拔插最近在做项目中遇到一个需要监控USB拔插来关闭服务的问题,当时查了不少资料,都是说android3.0以上的USB类可以监控,╮(╯▽╰)╭比较难搞后来发现其实可以变通的监控外部电源来实现,相当于监控USB了呵呵,记录下来Intent.ACTION_POWER_DISCONNECTED就是它了

    2022年5月7日
    39
  • 加壳工具简单使用

    加壳工具简单使用时间20210107,环境winxp介绍一些加壳工具和和它们的简单使用,为了方便描述,就先写了一个原程序,原程序的逻辑很简单,代码如下。1. #include<stdio.h>2. intmain()3. {4. inti=5;5. scanf(“%d”,&i);6. while(i–)7. {8. printf(“HelloWorld%d\n”,i);9. }

    2022年6月27日
    27
  • 玩转软路由 篇四:软路由中OpenWRT作为旁路由的安装设置教程

    玩转软路由 篇四:软路由中OpenWRT作为旁路由的安装设置教程开篇说一些仁者见仁智者见智的话,先声明,这只是代表我自己近期浅陋的看法。看到很多人玩路由器,刷各种固件,什么爱快、高格、老毛子、OpenWRT什么的,自己也折腾过,也在恩山论坛里下载各路大神的固件使用。作为一个小白,就自然而然想到,这么多固件,哪个最好?当然对于这个问题,每个人的回答都不一样,毕竟适合自己的才重要。经过我自己不断在网上寻找答案,最后形成了一个成熟的看法,那就是真正的好不好,关键点在驱动,驱动做得会使得路由系统如虎添翼。但是,很多芯片厂家在卖芯片的时候是需要承诺不可进行二次开发的,所以路由器大

    2022年6月11日
    90

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号