API 27上的Android设备,我的应用是设备所有者。
使用DevicePolicyManager,有人可以提供installKeyPair功能的示例吗?
lol
a
yay
hah
如何获取.pem文件(从.p12)到PrivateKey以及Certificate对象?
我似乎无法在网上找到任何示例......
答案 0 :(得分:0)
如果您查看CertInstallerActivity的AOSP源,则会看到一个示例用法:
您将需要将文件读取为字符串,然后看来您将只是遵循它们的使用模式:
String alias = "alias_as_string";
String key = "pem_as_string";
String cert = "crt_as_string";
// create keySpec from the pem file
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(
Base64.decode(key, Base64.DEFAULT));
// generate the RSP private key from the keySpec
KeyFactory kf = KeyFactory.getInstance("RSA");
PrivateKey privatekey = kf.generatePrivate(keySpec);
// generate the certificate object for the given content
Certificate certificate = CertificateFactory.getInstance("X.509")
.generateCertificate(
new Base64InputStream(new ByteArrayInputStream(cert.getBytes()),
Base64.DEFAULT));
然后实际调用DevicePolicyManager:
dpm.installKeyPair(null, privatekey, certificate, alias);
我从没用过,只是在阅读AOSP
答案 1 :(得分:0)
如果您以.p12(PKCS12)文件开头,则可能还需要查看KeyChain.createInstallIntent
(documentation)。