大佬教程收集整理的这篇文章主要介绍了android – 在我的情况下以编程方式安装X509证书,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
-----BEGIN CERTIFICATE----- MIIEczCCA1ugAwIBAgIBADANBgkqhkiG9w0BAQQFAD..AkGA1UEBhMCR0Ix EzARBgNVBAgTClNvbWUtU3RhdGUxFDASBgNVBAoTC0..0EgTHRkMTcwNQYD VQQLEy5DbGFzcyAxIFB1ymxpYyBQcmltYXJ5IENlcn..XRpb24gQXV0aG9y ...MANY LInes... It8una2gY4l2O//on88r5IWJlm1L0oA8e4fR2yrBHX..adsGeFKkyNrwGi/ 7vQMfXdGsRrXNGRGnX+vWDZ3/zWI0joDtCkNnqEpVn..HoX -----END CERTIFICATE-----
(我将上面的证书字符串分配给名为CERT_STR的变量)
我将以上PEM字符串转换为X509Certificate:
byte[] certBytes = CERT_STR.getBytes(); CertificateFactory certificateFactory = CertificateFactory.geTinstance("X.509"); InputStream certIs = new ByteArrayInputStream(certBytes); // Now I get the X509 certificate from the PEM String X509Certificate certificate = (X509CertificatE) certificateFactory.generateCertificate(certIs);
然后,我尝试通过以下方式以编程方式安装证书:
Intent intent = KeyChain.createInstallIntent(); // because my PEM only contains a certificate,no private key,so I use EXTRA_CERTIFICATE intent.putExtra(KeyChain.EXTRA_CERTIFICATE,certificate.getEncoded()); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent);
当我运行我的应用程序时,我看到系统对话框弹出“ExtracTing …”,我知道系统正在提取我的证书,但该对话框始终显示“ExtracTing …”.
为什么?我的@L_616_8@安装证书在哪里错了?
String x509cert = "-----BEGIN CERTIFICATE-----\n" + "MIICrjCCAhegAwIBAgIJAO9T3E+oW38mMA0GCSqGSIb3DQEBCwUAMHAxCzAJBgNV\n" + "BAYTAlVaMREwDwYDVQQHDAhUYXNoa2VudDENMAsGA1UECgwERWZpcjeQMA4GA1UE\n" + "CwwHSVQgZGVwdDEQMA4GA1UEAwwHZWZpci51ejebMBkGCSqGSIb3DQEJARymaG9z\n" + "dEBlZmlyLnV6MB4XDTE2MTExMDA4MjIzMFoXDTE2MTIxMDA4MjIzMFowcDELMAkG\n" + "A1UEBhMCVVoxETAPBgNVBACR_314_11845@CFRhc2hrZW50MQ0wCwYDVQQKDARFZmlymRAwDgYD\n" + "VQQLDAdJVCBkZXB0MRAwDgYDVQQDDAdlZmlyLnV6MRswGQYJKoZIhvcNAQkBFgxo\n" + "b3N0QGVmaXIudXowgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAL60mG0Gpl7s\n" + "3qMnZcURB1xk5Qen6FN0+AJB5Z/WHA50n1MUkXNY28rkEYupkxpfEqR+/gXgBUAm\n" + "FACA3GSdoHMMY1kdeAzxsYbBEbtGKHICF/QFGTqScWmI6uBUwzsLDLv1ELef/zEY\n" + "Ru/krXtNh8ZNYyfwVKyZaB9+3M2yOqATAgMBAAGjUDBOMB0GA1UdDgQWBBS1nH3O\n" + "ecLDrIZLZ/f1WsNL/xtuEzAfBgNVHSMEGDAWgBS1nH3OecLDrIZLZ/f1WsNL/xtu\n" + "EzAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4GBAGzjJnXODvF9UHBKHAUF\n" + "kzisr78Og5BrKyAgdnjH196Jg4MO7RNJdQAmuAIk9aBB/jvAiznhhbcD3mYImH+h\n" + "F0Scewk5m736ydGhkcUpmxA5ye1hajjs9V7PQD2O4a8rNJSlJjiWRWSqxTfH79Ns\n" + "B7x2HND9LU/iz02ugGJ8vwg8\n" + "-----END CERTIFICATE-----\n"; Intent intent = KeyChain.createInstallIntent(); intent.putExtra(KeyChain.EXTRA_CERTIFICATE,x509cert.getBytes()); startActivity(intent);
为了生成上述证书,我使用了以下步骤(基于Generating Keys and Certificates for SSO):
$openssl genrsa -out rsaprivkey.pem 1024 $openssl req -new -x509 -key rsaprivkey.pem -out rsacert.pem $ls rsacert.pem rsaprivkey.pem
然后我只需将cat rsacert.pem的输出复制/粘贴到x509cert.
希望这可以帮助.
以上是大佬教程为你收集整理的android – 在我的情况下以编程方式安装X509证书全部内容,希望文章能够帮你解决android – 在我的情况下以编程方式安装X509证书所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。