linux安装p12,用命令行安装mobileprovision和p12证书

linux安装p12,用命令行安装mobileprovision和p12证书我这边使用python来编写的,基本达到了最大化程度的解耦,其他人或者其他地方都可以直接使用。先创建installMobileProfile.py#!/usr/bin/python#-*-coding:UTF-8-*-importsysimportcommandsimportosparamsCount=len(sys.argv)if(paramsCount!=5):prin…

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

我这边使用python来编写的,基本达到了最大化程度的解耦,其他人或者其他地方都可以直接使用。先创建installMobileProfile.py

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import sys

import commands

import os

paramsCount = len(sys.argv)

if (paramsCount != 5):

print “本文件只支持以下的四个参数同时配置,缺一不可”

print “第一个参数:描述文件的路径”

print “第二个参数:p12文件的路径”

print “第三个参数:操作系统用户的密码”

print “第四个参数:p12文件的密码”

exit()

mobileProfilePath=sys.argv[1]

p12filePath = sys.argv[2]

password = sys.argv[3]

cert_Pass = sys.argv[4]

print ‘params is:’ + mobileProfilePath + ‘ p12:’ + p12filePath + ‘ pass:’ + password + ‘ cert_Pass:’ + cert_Pass

shellCommod = “grep UUID -A1 -a ” + mobileProfilePath + “| grep -io ‘[-A-F0-9]\{36\}'”

UUID = commands.getoutput(str(shellCommod))

print “uuid is:” + UUID

homePath = commands.getoutput(“echo ~”)

output=str(homePath+”/Library/MobileDevice/Provisioning Profiles/”+UUID+”.mobileprovision”)

output1=str(homePath+”/Library/MobileDevice/Provisioning\ Profiles/”+UUID+”.mobileprovision”)

print output

if os.path.isfile(output):

print “file is founded”

print “install finished”

else:

print “file not found”

cp_commod = str(“cp ” + mobileProfilePath + ” ” + output1)

print cp_commod

print “copying file from “+mobileProfilePath+” to “+output1

os.system(cp_commod)

print “install finished”

os.system(“ls ~/Library/MobileDevice/Provisioning\ Profiles/”)

#install p12 file

keychain_Path = str(homePath+”/Library/Keychains/login.keychain”)

sh1 = str(“security default-keychain -s ” + keychain_Path)

print “shell1 is:” + sh1

os.system(sh1)

sh2 = str(“security unlock-keychain -p ” + password + ‘ ‘ + keychain_Path)

print “shell2 is:” + sh2

os.system(sh2)

sh3 = str(“security import ” + p12filePath + ” -k ” + keychain_Path + ‘ -P ‘ + cert_Pass)

print “shell3 is:” + sh3

result = commands.getoutput(sh3)

print result

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

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

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

相关推荐

  • Java的Scanner输入时,next()和nextLine()的区别[通俗易懂]

    Java的Scanner输入时,next()和nextLine()的区别[通俗易懂]nextLine()不要和其他next方法一起用!!!尤其nextLine()不要放在它们后面!!!这个问题已经坑了我好多次了,但是每次都没有在意,主要是没反应过来出现问题的原因。今天阿里内推测验,又被nextLine()狠狠坑了一下。逻辑思路都是对的,就输入的数据不对。因为限时半小时,所以时间比较紧张,最后还是没弄出来。后来百度查了两者区别,果然问题是出在这里,改完之后问题就解决了。可怜我的…

    2022年6月10日
  • JetBrick 入门详解

    JetBrick 入门详解JetBrick的简单使用方法,仅作为简单的入门,不做内部详细的探讨。

    2022年6月17日
  • Java中的重载、重写和重构的区别

    Java中的重载、重写和重构的区别1、重载重载(overloaded):重载就是在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型不同即可。我们知道构造方法的名称已经由类名决定,所以构造方法只有一个名称,但如果希望以不同的方式来实例化对象,就需要使用多个构造方法来完成。由于这些构造方法都需要根据类名进行命名,为了让方法名相同而形参不同的构造方法同时存在,必须用到“方法重载”,虽然方法重载起源于构造方…

    2022年7月8日
  • 动态注册广播接收器_ip广播系统软件v2.3说明书

    动态注册广播接收器_ip广播系统软件v2.3说明书从registerReceiver(BroadcastReceiverreceiver,IntentFilterfilter)出发所经历的类和方法:registerReceiver(receiver,filter)–>ContextWrapper.java$registerReceiver(receiver,filter);@OverridepublicIntentregis…

    2022年9月12日
  • java json 变量所有的属性[通俗易懂]

    java json 变量所有的属性[通俗易懂]javajson

    2022年9月8日
  • HashMap的数据结构(浅谈有与无)

    HashMap数据结构浅谈开篇语:hashmap作为一种非常重要的数据结构,无论是在理论学习中,还是实际开发中都会经常遇到。这里总结一下对于hashmap一些基础的知识点。1、常见的数据结构一般开发中常见的数据结构有数组、链表、树、及HashMap。数组结构和链表结构的图形结构非常简单。本次主要讲解HashMap的结构,并结合着源码进行简要分析2、HashMapHashMap的结构图如…

    2022年4月10日

发表回复

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

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