os x下证书的导入

86 篇文章 2 订阅
59 篇文章 2 订阅

简介:针对ios打包需要提供用于发布程序的p12证书,证书的password、以及对应的描述文件。

传统做法:

1.在要导入的OS X系统上双击该P12证书进行导入,如果有密码的话则在提示框中输入对应的密码即可。(另外针对后面自动化调用的话还需要挨个设置证书的属性为允许任何程序使用)

2.双击证书的描述文件mobileprovision(mobileprovision描述文件里面包含了 AppId,证书信息、设备信息等,要得到这些信息得费些功夫。mobileprovision文件直接用文本工具打开是无法看到里面的内容的,因为它是经过特殊编码的)

双击后实际上系统自动做的是将该描述文件改名为以uuid.mobileprovision命名的文件并放到 ~/Library/MobileDevice/Provisioning Profiles/ 目录下, 该目录下的描述文件将会被xcode读取到。所以双击只是将文件拷贝到这个目录并重命名该文件。

通过命令来实现:

1.利用security命令安装p12证书(检验证书的时候需要先将p12安装到Mac的Keychain里面

   securityimport`p12_filepath`-k /Users/jenkins/Library/Keychains/login.keychain-P"p12_password" -A -T /usr/bin/codesign

注意:如果Keychain是输入Lock状态的,证书是无法正常导入的,需要先解锁,手工解锁或者用下面的命令解锁

security unlock-keychain-p'mac_password'/Users/jenkins/Library/Keychains/login.keychain


通过脚本来实现

1.导入p12文件

security unlock-keychain-p'mac_password'/Users/jenkins/Library/Keychains/login.keychain

securityimport`p12_filepath`-k /Users/jenkins/Library/Keychains/login.keychain-P"p12_password" -A -T /usr/bin/codesign

先执行第一句的好处是使得后面导入命令中的-A选项生效(允许任何程序访问)-------直接执行后面导入命令是不会起到这个效果的。

2.执行证书的描述文件

provision_xcode_dir="/Users/jenkins/Library/MobileDevice/Provisioning Profiles/"
provision_bds_dir="/home/q/provision/"
uuid=$(grep UUID -A1 -a $provision_file | grep -io "[-A-Z0-9]\{36\}")
if [ $? -ne 0 ] ; then
    echo "I can not find uuid in $provision_file"
    exit 1
else
    echo cp $provision_file ${uuid}.mobileprovision
    cp $provision_file ${uuid}.mobileprovision
    echo cp ${uuid}.mobileprovision "${provision_xcode_dir}/"
    cp ${uuid}.mobileprovision "${provision_xcode_dir}/"
    echo cp $provision_file "${provision_bds_dir}/"
    cp $provision_file "${provision_bds_dir}/"
fi

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值