android 如何从证书获取/生成pin sha 256

q3qa4bjr  于 2023-03-06  发布在  Android
关注(0)|答案(2)|浏览(231)

简单的问题
我正在尝试使用network-security-config在android中进行证书锁定,但我不确定如何将SHA-256放入PIN集
给定一个域名url,如何找到“pin digest=“SHA-256”?

<?xml version="1.0" encoding="utf-8"?>
  <network-security-config>
    <domain-config>
        <domain includeSubdomains="true">example.com</domain>
        <pin-set expiration="2018-01-01">
            <pin digest="SHA-256">HowDoIGetThisValue</pin>
            <!-- backup pin -->
            <pin digest="SHA-256">HowDoIGetThisValue</pin>
        </pin-set>
    </domain-config>
</network-security-config>

建议/步骤。
多谢

uemypmqf

uemypmqf1#

在MAC中:
如果您证书类型是**. crt**:
openssl x509-在您的证书路径中. crt-公钥-无输出|openssl pkey-发布-输出|openssl数据格式-sha256-二进制|openssl编码-基于64
如果您证书类型是**. cer**:
openssl x509-在您的证书路径中。cer-公钥-无输出-通知der|openssl pkey-发布-输出|openssl数据格式-sha256-二进制|openssl编码-基于64

4ioopgfo

4ioopgfo2#

给定域URL example.com,您可以连接到服务器并获取证书PIN(如SHA-256),如下所示:

openssl s_client -servername example.com -connect example.com:443 | \
    openssl x509 -pubkey -noout | \
    openssl rsa -pubin -outform der | \
    openssl dgst -sha256 -binary | \
    openssl enc -base64

相关问题