android ios统一,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

重点关注如下几个项的内容:

application-identifier //对应app bundle id

ExpirationDate //证书过期时间

Name //证书文件名

UUID //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 '别名'

【6层】一字型框架办公楼(含建筑结构图、计算书) 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值