我们正在遵循TrustKit(OSS)进行SSL证书固定 https://github.com/datatheorem/TrustKit
对于证书验证,我们需要为特定域添加公钥哈希,但是挑战在于,我们无法为不同域提取公钥。没有与此相关的适当文档。 有一个Python命令可以生成公共哈希密钥,但是在Mobile应用程序中实现它是一个挑战。
获取证书并从中创建sha256哈希; (Python Open SSL命令)
openssl s_client -connect www.google.com:443 -showcerts google.der python -sBc“ from future from import print_function; import hashlib; print(hashlib.sha256(open('google.der','rb')。read())。digest(),end =' ')“ | base64 KjLxfxajzmBH0fTH1 / oujb6R5fqBiLxl0zrl2xyFT2E = 从证书中提取公钥并对其进行哈希处理:
openssl x509 -pubkey -noout -in google.der-通知DER | openssl rsa -outform DER -pubin -in / dev / stdin 2> / dev / null> googlekey.der python -sBc“ from future from import print_function; import hashlib; print(hashlib.sha256(open('googlekey.der','rb')。read())。digest(),end =' ')“ | base64 4xVxzbEegwDBoyoGoJlKcwGM7hyquoFg4l + 9um5oPOI =
当前,我们面临挑战: 1.在iOS / Android代码中生成域证书的公共哈希密钥SHA256。
任何帮助将不胜感激。