首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iPhone配置配置文件加密

iPhone配置配置文件加密
EN

Stack Overflow用户
提问于 2014-04-21 14:08:36
回答 2查看 1.7K关注 0票数 1

我有一个配置配置文件MDM有效载荷和Wifi有效载荷。我脑子里没几个问题

  1. 识别有效载荷和文件删除密码有效载荷之间的区别是什么?我知道,如果用户想要删除配置文件,则会提示第二个配置文件。
  2. 我是否能够为我的配置文件使用MDM有效负载的配置文件删除密码?
  3. 如何加密我的.mobileconfig文件?我应该使用CA证书加密配置文件吗?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-21 22:24:02

1)我认为你说的是身份简介(vs身份简介)。

此配置文件为设备提供一些身份(证书和私钥),它将用于对服务器进行身份验证。

它可以是PKCS12 (它是将证书和密钥结合在一起的格式),也可以是SCEP (它是获取证书的协议)。

2) MDM配置文件始终是可移动的(除了设备受到监视时的情况)。

3)这正是使用身份有效载荷的地方。您应该使用此设备的证书加密配置文件。因此,如果您需要加密配置文件并将其发送到5个不同的设备,那么您实际上需要对这5个设备中的每个设备都具有理想性(certs),并且需要创建该配置文件的5个副本,并使用每个证书进行加密。

票数 2
EN

Stack Overflow用户

发布于 2022-07-27 01:22:49

代码语言:javascript
运行
复制
I can only answer your third question, how to encrypt mobileconfig file? For this I wrote a utility class
代码语言:javascript
运行
复制
/**
代码语言:javascript
运行
复制
 * encryption moblicconfig file 
 * @param configPath moblic filepath ./data/123.mobileconfig
 * @param outPath encrypted moblic filepath ./data/123.mobileconfig
 * @param certPath certpath  ./data/cert.pem
 * @throws IOException
 * @throws ParserConfigurationException
 * @throws ParseException
 * @throws SAXException
 * @throws PropertyListFormatException
 */
public static void encryptionMobile(String configPath,String outPath,String certPath) throws IOException, ParserConfigurationException, ParseException, SAXException, PropertyListFormatException {
代码语言:javascript
运行
复制
    NSDictionary rootDict = (NSDictionary) PropertyListParser.parse(FileUtil.readBytes(new File(configPath)));
代码语言:javascript
运行
复制
    String payloadContent = rootDict.get("PayloadContent").toXMLPropertyList();
代码语言:javascript
运行
复制
    File tempPlistPath =  new File("./data/web/temp/" + System.currentTimeMillis());
代码语言:javascript
运行
复制
    FileUtil.writeBytes(payloadContent.getBytes(StandardCharsets.UTF_8),tempPlistPath);
代码语言:javascript
运行
复制
    File tempDer = new File("./data/web/temp/" + System.currentTimeMillis());
代码语言:javascript
运行
复制
    String outDer = tempDer.getAbsolutePath();
代码语言:javascript
运行
复制
    String certPathFile = new File(certPath).getAbsolutePath();
代码语言:javascript
运行
复制
    String cmd = "openssl smime -encrypt -aes128 -nodetach -binary -outform der -in " + tempPlistPath.getAbsolutePath() + " -out " + outDer + " " + certPathFile;
代码语言:javascript
运行
复制
    XjmUtil.runtimeExec(cmd);
代码语言:javascript
运行
复制
    byte[] bytes = FileUtil.readBytes(new File(outDer));
代码语言:javascript
运行
复制
    String EncryptedPayloadContent = Base64.getEncoder().encodeToString(bytes);
代码语言:javascript
运行
复制
    rootDict.remove("PayloadContent");
代码语言:javascript
运行
复制
    rootDict.put("EncryptedPayloadContent", new NSData(EncryptedPayloadContent));
代码语言:javascript
运行
复制
    PropertyListParser.saveAsXML(rootDict,new File(outPath));
代码语言:javascript
运行
复制
    FileUtil.del(tempPlistPath);
代码语言:javascript
运行
复制
    FileUtil.del(outDer);
代码语言:javascript
运行
复制
}
代码语言:javascript
运行
复制
This is maven dependency

<dependency>
 <groupId>cn.hutool</groupId>
 <artifactId>hutool-all</artifactId>
 <version>5.7.14</version>
</dependency>

<dependency>
 <groupId>cn.hutool</groupId>
 <artifactId>hutool-all</artifactId>
 <version>5.7.14</version>
</dependency>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23199096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档