繁体   English   中英

检查证书签名是否为MD5 OpenSSL

[英]Check if Certificate Signature is MD5 OpenSSL

我需要检查X509证书的签名算法是MD5还是SHA。 为此,我知道我可以提取与签名算法相对应的NID:

int sig_nid = OBJ_obj2nid(cert->sig_alg->algorithm);

现在的问题是,我似乎找不到一种简单的方法来将其与MD5或SHA进行比较,因为我相信可以为签名返回多个NID。 有没有简单的方法可以比较此NID或可以找到所有MD5和SHA NID以便我自己进行长时间比较的地方?

我想这就是您的追求: http : //www.alvestrand.no/objectid/1.2.840.113549.1.1.html它列出了可用于X509证书的哈希/加密。 您可以使用OBJ_txt2nid()生成要比较的nids。

因此,您想将算法nid与OBJ_txt2nid("1.2.840.113549.1.1.4") -或在实践NID_md5WithRSAEncryption (在openssl/objects.h定义)进行比较

编辑:仅添加一些信息: X509v3 RFC引用了定义“可接受的”算法的其他RFC。 这些是RFC3279RFC4055RFC4491 它们都包含可以使用的OID。 似乎只有第一个似乎使用MD5哈希定义方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM