在mac上导出ssl证书及私钥:一、用钥匙串访问导出含私钥的.p12文件;二、用openssl分离导出.crt和.key文件;三、从系统钥匙串导出根证书为.cer或.pem格式。

如果您需要在Mac上将SSL证书及其关联的私钥导出为标准格式(如.p12),以便在其他设备或服务器上复用,则必须确保证书与私钥同时被选中并以正确格式导出。以下是实现该目标的具体方法:
一、使用钥匙串访问应用导出含私钥的.p12文件
此方法通过图形界面操作,确保证书及其对应私钥被完整打包进一个加密的.p12容器中,是跨平台迁移证书最常用且兼容性最强的方式。
1、打开“钥匙串访问”应用:可在“聚焦搜索”中输入钥匙串访问并回车,或前往“应用程序”→“实用工具”→双击启动。
2、在左侧边栏选择登录钥匙串(若证书为用户级安装),并在上方类别栏点击我的证书。
3、找到目标SSL证书(通常显示为网站域名,如example.com),点击左侧三角形展开项,确认下方同时存在同名的密钥条目(图标为锁形)。
4、按住Command键,依次点击选中该证书及其对应的私钥条目。
5、点击菜单栏文件→导出项目…。
6、在弹出窗口中,于“文件格式”下拉菜单选择个人信息交换 (.p12)。
7、指定保存路径并命名文件(如example.com.p12),点击保存。
8、在密码输入框中设置并确认一个强密码;该密码将在后续导入时强制验证,务必妥善记录。
二、通过终端配合OpenSSL提取证书与私钥为独立文件
此方法适用于需分离公钥证书(.crt)与私钥(.key)的场景,例如Nginx或Apache服务器部署,避免使用.p12封装格式。
1、在“钥匙串访问”中定位目标证书,右键点击证书条目,选择复制到剪贴板(仅复制证书内容,不含私钥)。
2、新建文本文件,粘贴内容,保存为certificate.crt,确保首尾包含完整的-----BEGIN CERTIFICATE-----与-----END CERTIFICATE-----标记。
3、在终端中执行命令导出私钥:security find-certificate -p login "example.com" > certificate.pem && security find-generic-password -w -s "example.com" 2>/dev/null | openssl rsa -inform PEM -out private.key(需替换example.com为实际证书名称)。
4、若提示权限错误,需先在“钥匙串访问”中双击该私钥条目,在“访问控制”标签页勾选允许所有应用程序访问此项目,并点按“好”确认。
5、运行上述命令后,检查当前目录是否生成private.key文件;使用openssl rsa -check -in private.key验证其完整性。
三、从系统钥匙串导出受信任根证书(仅公钥)
此方法用于提取CA根证书或中间证书的公钥部分,不包含任何私钥,适用于配置客户端信任链或调试证书链验证失败问题。
1、打开“钥匙串访问”,左侧选择系统钥匙串,上方类别切换至证书。
2、在列表中定位目标根证书或中间证书(如DigiCert Secure Server CA),单击选中。
3、点击菜单栏文件→导出项目…。
4、在导出窗口中,“文件格式”选择X.509 Certificate (.cer),保存为ca_certificate.cer。
5、双击该.cer文件可预览证书详情;如需转换为PEM格式,可在终端执行:openssl x509 -in ca_certificate.cer -out ca_certificate.pem -outform PEM。











