IOS证书和Android签名统一管理方案

背景

由于在工作中经常需要管理多台机器的ios证书及android签名,假设全部都是手动来操作完成,那将耗费大量时间,本文旨在提供一种较为完整的方案来方便快捷的管理多台机器的ios证书及android签名。

IOS证书管理

IOS证书管理分为命令行安装,描述文件解析&安装,证书过期时间预警等基础功能

IOS证书命令行安装方式(security)

首先介绍证书管理的基础-安装,通过security命令进行p12证书的安装
安装命令:

sudo security import [p12证书文件所在路径] -k /Library/Keychains/System.keychain -P [p12证书安装密钥] -T /usr/bin/codesign

安装命令解析,上述命令主要把证书安装在系统下,需要sudo权限,并且 -T 设定 /usr/bin/codesign是有权限使用该证书的,如果想把证书安装在登录下,请使用如下两条命令

security unlock-keychain -p  [登录用户密码] /Users/[用户名]/Library/Keychains/login.keychain

security import [p12证书文件所在路径] -k /Users/[用户名]/Library/Keychains/login.keychain -P [p12证书安装密钥] -T /usr/bin/codesign

多台机器同时安装p12 + 授权文件脚本:

  #!/bin/bash
 
 #同局域网多台机器ip,机器之前预先设置互信+免密登录
 mac_arr=(A,B,C,D)
 
 CODESIGN_FILE_NAME=$1
 PROVISION_FILE_NAME=$2
 CODESIGN_PASSWORD=$3
 
 #安装provision file
 open ${PROVISION_FILE_NAME}
 
 sudo security import ${CODESIGN_FILE_NAME} -k /Library/Keychains/System.keychain -P ${CODESIGN_PASSWORD} -T /usr/bin/codesign

 for var in ${mac_arr[@]};
 do
     #先拷贝必要的证书和provision file到指定机器的指定目录
     scp ${CODESIGN_FILE_NAME} [登录用户名]@xxx.xxx.xxx.${var}:/Users/[登录用户名]/codeSignFile
     scp ${PROVISION_FILE_NAME} [登录用户名]@xxx.xxx.xxx.${var}:/Users/[登录用户名]/codeSignFile
     ssh [登录用户名]@xxx.xxx.xxx.${var} "cd /Users/[登录用户名]/codeSignFile && open ${PROVISION_FILE_NAME} && sudo security import ${CODESIGN_FILE_NAME} -k /Library/      Keychains/System.keychain -P ${CODESIGN_PASSWORD}   -T /usr/bin/codesign"  #双引号里面加入想要执行的命令
 done

解析描述文件获取AppId, 证书信息,过期时间

通过获取证书信息+过期时间等,可以用来校验证书是否已经装上,证书是否即将过期等功能,需要的可自行设计实现

解析命令

security cms -D -i [描述文件] > [输出plist文件]

MAC中描述文件被安装在如下目录:
/Users/[登录用户名]/Library/MobileDevice/Provisioning Profiles
重点关注如下几个项的内容:

<key>application-identifier</key> //对应app bundle id
<key>ExpirationDate</key> //证书过期时间
<key>Name</key> //证书文件名
<key>UUID</key>  //UUID是授权文件安装在目录的文件名UUID.mobileprovision

获取登录/系统keychain下所有已安装的证书

命令如下:

security find-identity -v codesigning /Users/[登录用户名]/Library/Keychains/login.keychain

删除登录/系统keychain下已安装的证书

命令如下:

security delete-certificate -Z SHA1

注:将SHA1替换成证书的sha1,sha1的值,可以通过find-identity命令看到,它是一个40位的随即字符串

Android证书管理

Android的证书管理起来就比较方便,主要是统一生成,并且方便提供给同事MD5,SHA-1,别名等相关信息

Android证书命令行生成方式

使用keytool命令生成keystore签名

keytool -genkey -alias [别名] -keyalg RSA -validity 40000 -storepass  [密钥] -keypass  [密钥]  -dname "CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=86"   -keystore [生成文件名]

获取签名MD5,SHA-1,别名等信息命令

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,373评论 25 707
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,016评论 4 62
  • 紫藤为长寿树种,民间极喜种植,成年的植株茎蔓蜿延屈曲,开花繁多,串串花序悬挂于绿叶藤蔓之间,瘦长的荚果迎风摇曳,自...
    4caf41720d9d阅读 457评论 0 0
  • 中国有句老话叫“穷生奸计,富长良心”。 穷与富不仅仅指的是金钱多少,更深层次的是指一个人有多大的智慧去控制金钱。越...
    whoogaoqiao阅读 178评论 0 0
  • 如果你的英文还不错可以来这里自己查看所有的快捷键大全(当然也可以自定义修改): 如果你懒得看,下面这些足够你在开发...
    SunnyLeong阅读 14,760评论 0 29