生成RSA用的证书

一、背景简介

由于公司最近要在项目上增加热修复的功能,也就是下载一段JS代码就能修复已经上线了的APP的bug.可是由于公司服务器还没有升级到HTTPS,所以在JS传输过程的的安全问题,就成了一个重大的问题,最终决定用RSA加密的方式来保证数据传输的安全性.

二、制作RSA用的证书步骤

  1. 环境:openssl,由于Mac自带openssl环境,所以不用安装,直接打开终端. [注:生成的证书文件都在当前路径下,可以切换路径到想要保存证书文件的文件夹下]
  2. 生成密钥1024是指定密钥的长度
    openssl genrsa -out private.pem 1024
    在终端输入cat private.pem可以查看pem文件,经过查看可以知道这是一个base64编码的二进制文件.
  3. 生成证书请求文件(公钥,组织信息,联系人信息等,这里会让你输入很多东西,只需依次输入即可,如果不知道输入什么可以随便填写)
    openssl req -new -key private.pem -out rsa.csr
  4. 给签名后的证书设置有效期
    openssl x509 -req -days 365 -in rsa.csr -signkey private.pem -out rsa.crt
  5. 将pem文件格式转换成der格式 [目的:pem是经过base64。系统加密的时候要使用base64解码后的二进制文件]
    openssl x509 -outform der -in rsa.crt -out rsa.der
    6.导出我们的私钥p12
    openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsa.crt

7.der是公钥,p12是私钥,所在的路径是:当前终端的路径.

三、证书文件如何在项目中使用

把生成的derp12拖入到项目中

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //RSA  非对称加密   加密 要加载公钥   解密要加载私钥
    CryptorTools *tools = [CryptorTools new];
    
    //加密
    //加载公钥
    NSString *path = [[NSBundle mainBundle] pathForResource:@"rsa.der" ofType:nil];
    [tools loadPublicKeyWithFilePath:path];
    
    NSString *cryptStr = [tools RSAEncryptString:@"王启镰"];
    NSLog(@"王启镰RSA加密后的字符串: %@",cryptStr);
    
    //解密
    //加载私钥
    path = [[NSBundle mainBundle] pathForResource:@"p.p12" ofType:nil];
    
    /** 这里的123456就是在导出p12的时候你输入的密码 **/
    [tools loadPrivateKey:path password:@"123456"];
    NSString *decryptStr = [tools RSADecryptString:cryptStr];
    NSLog(@"解密后的字符串: %@",decryptStr);
}

四、知识补充

非对称加密算法RSA

  • 使用 公钥 加密, 使用 私钥 解密
  • 使用 私钥 加密, 使用 公钥 解密
  • 更安全[https就是用的RSA加密算法]
  • 适合小数据加密
  • 缺点: 加密速度慢

使用场景
一般使用RSA加密对称加密的密钥

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容

  • 证书的概念在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公...
    像小强一样活着阅读 2,881评论 6 9
  • openssl的证书格式转换 证书转换 PKCS 全称是 Public-Key Cryptography Stan...
    五大RobertWu伍洋阅读 11,684评论 1 4
  • 我可不可以提出这样的质疑:“是我看见了世界,还是我遇见了这个世界”
    清澈见底07阅读 150评论 0 0
  • 梦里的歌谣 响彻云霄 那自在翱翔的小鸟 飞到有你的地方 是我为你的祷告 寺里的佛音 虔诚祈祷 那翠玉雕琢的菩提 在...
    君惜竹阅读 292评论 2 2
  • 高考报志愿,一心要离开熟悉的一切,去远方寻找只属于我的新鲜世界。我不知道是不是每个女生都有前世寄留在江南水乡...
    虫二Y阅读 268评论 0 0