1
A
回答
1
这是可能的,并且在任何支持的平台(包括Linux)上的工作原理都是一样的。
你主要有两种可能性:
使用https://mike.kaply.com/cck2/
这是一个Firefox扩展,你可以用它来定制在Firefox中很多东西(包括添加CA证书)。它会生成一个在Firefox安装目录上部署的zip文件(类似于Linux上的/ usr/lib/firefox)。这可能是最简单的方法。
使用自动配置
我用它部署在企业环境中的CA证书(不与其他类型的证书测试)。它也允许做任何你需要的定制。
首先,您需要配置自动配置文件,请参阅https://developer.mozilla.org/en-US/Firefox/Enterprise_deployment#Configuration了解如何操作。
然后,您需要将您的证书文件放在defaults/pref子目录(例如:/ usr/lib/firefox/defaults/pref)中,将以下函数放在自动配置文件中,并调用它:
// This imports a root certificate into Firefox
// The certificate has to be in defaults/pref directory of Firefox
// Source : http://xulfr.org/forums/read.php?1,8256
function importCert(certFileName) {
var BEGIN_CERT = "-----BEGIN CERTIFICATE-----";
var END_CERT = "-----END CERTIFICATE-----";
var x509certdb = Components.classes["@mozilla.org/security/x509certdb;1"];
var certDB ;
try {
// For Firefox <=32
certDB = x509certdb.getService(Components.interfaces.nsIX509CertDB2);
}
catch (exc) {
// For Firefox >=33
certDB = x509certdb.getService(Components.interfaces.nsIX509CertDB);
}
var ioService = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var scriptableStream = Components.classes["@mozilla.org/scriptableinputstream;1"]
.getService(Components.interfaces.nsIScriptableInputStream);
// https://developer.mozilla.org/en-US/Add-ons/Code_snippets/File_I_O#Getting_special_files
Components.utils.import("resource://gre/modules/FileUtils.jsm");
var certFile = FileUtils.getFile("PrfDef", [certFileName]);
// http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html
var trustFlags = "C,C,C";
var channel = ioService.newChannelFromURI(ioService.newFileURI(certFile));
var input = channel.open();
scriptableStream.init(input);
var certfile = scriptableStream.read(input.available());
scriptableStream.close();
input.close();
certfile = certfile.replace(/[\r\n]/g, "");
begin = certfile.indexOf(BEGIN_CERT);
end = certfile.indexOf(END_CERT);
cert = certfile.substring(begin + BEGIN_CERT.length, end);
certDB.addCertFromBase64(cert, trustFlags, "");
}
importCert("myCert.pem");
您的证书需要采用ASCII Base64 X509格式(以----- BEGIN CERTIFICATE开头的文本文件-----)。
相关问题
- 1. 是否可以在Firefox上列出已安装的证书?
- 2. 是否可以理解Windows证书存储区中的证书是否导入为“启用强私钥”保护?
- 3. 是否可以自动选择正确的客户端证书?
- 4. 验证期间证书是否可以导致多个有效的证书链?
- 5. 是否可以使用SSL证书作为中间CA证书?
- 6. 如何在Firefox中自动导入书签?
- 7. 是否可以自动验证telnet?
- 8. 是否可以在Android中导入java.rmi。*?
- 9. 是否可以将私钥包含在.CER证书文件中?
- 10. 数据导入是否在solr中自动导入?
- 11. 是否可以在PhpStorm中导出书签?
- 12. 我可以在MySQL中自动插入SSL证书的PEM文件密码吗?
- 13. PKI证书导入
- 14. 如何在Windows CE设备上自动导入证书?
- 15. 是否__main__保证始终可导入?
- 16. 是否可以在Spring中自动装入bean名称?
- 17. 是否可以编写脚本来自动安装Firefox插件?
- 18. 将自签名证书导入Netty
- 19. WSO2 CEP 4.0.0导入可信证书
- 20. HttpWebRequest是否会自动处理证书验证?
- 21. 是否可以自动列出开源库及其许可证?
- 22. 使用自签名证书时,是否可以防止中间人攻击?
- 23. 导入SSL证书时出错:不是X.509证书
- 24. 如何在java中导入证书?
- 25. 在Windows中导入StartCom CA证书JRE
- 26. OpenSSL现在是否自动处理CRL(证书吊销列表)?
- 27. 我可以在Java中创建自签名证书,并通过Web浏览器自动信任该证书吗?
- 28. 我可以在SONOS自检中使用自签名证书吗?
- 29. pfx文件是否可以包含不属于叶证书路径的证书?
- 30. 自签名证书和根CA证书是否相同?