一、Charles 导入p12证书报错
1.使用charles导入p12证书
2.出现报错。
3.双击证书文件,在window证书管理器导入成功。
二、解决
1.使用openssl 转pem文件导入charles
openssl pkcs12 -in client.p12 -out your_certificate.pem -nodes
注意:这里有个小坑 。
如果在输入密码后出现这种报错,需要加一个额外的参数 -legacy
Error outputting keys and certificates
78750000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:crypto\evp\evp_fetch.c:386:Global default library context, Algorithm (RC2-40-CBC : 0), Properties ()
openssl pkcs12 -in client.p12 -out your_certificate.pem -nodes -legacy
GPT 解释:
在较新版本的 OpenSSL 中,默认情况下不会启用一些较旧或不安全的加密算法,因为它们可能存在漏洞或安全隐患。因此,如果你的证书或密钥使用了这些算法,你可能需要使用 -legacy 参数来启用对这些算法的支持。
以下是一些可能需要 -legacy 参数的情况:
- RC2 算法: 例如,RC2-40-CBC。
- MD2 算法: MD2 已被认为不安全,因此在较新版本的 OpenSSL 中默认已被禁用。
- IDEA 算法: IDEA 加密算法在某些情况下可能需要 -legacy 参数。
- DES 和 3DES 算法: 在一些较新的 OpenSSL 版本中,可能默认不启用对 DES 和 3DES 加密算法的支持,因为它们已被认为不够安全。
使用 -legacy 参数会启用对这些算法的支持,但请注意,这些算法可能存在安全风险,因此应谨慎使用,并尽可能使用更安全的替代方案。