我试图手动验证嵌入式主板上的证书,因为它不支持Openssl或其他库。但是,它具有用于MD5和SHA1哈希和RSA加密的库。SSL证书签名验证
根据我的理解来验证证书,首先计算证书的SHA1哈希(或MD5);然后使用CA的公钥对签名进行解码以获得哈希值。这两个散列值应该相同。
SHA1散列产生一个20字节的值,MD5产生16个字节的值。但是,签名的RSA解码不会。如果CA的密钥是1024位,则解码签名将是80字节;如果CA的密钥是512位,则解码的签名将是40个字节。所以我无法真正比较20字节的SHA1值与40或80字节解码签名。
我做错了什么?还是我错过了一个步骤?
仅供参考:我正尝试使用嵌入式板来验证传入证书。这些证书将由使用Openssl生成的专用CA生成并签署。 – TSCOconan