首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中验证Aadhaar XML签名?

如何在Python中验证Aadhaar XML签名?
EN

Stack Overflow用户
提问于 2022-05-01 06:36:05
回答 1查看 323关注 0票数 0

我正在尝试进行XML签名验证。以下是Aadhaar无纸离线e教程https://uidai.gov.in/ecosystem/authentication-devices-documents/about-aadhaar-paperless-offline-e-kyc.html的链接

代码语言:javascript
复制
with open('/home/user/Downloads/uidai_auth_sign_prod_2023.cer', 'rb') as f:
     key = f.read()
import xml.etree.ElementTree as ET
tree=ET.parse("/home/user/Downloads/offlineaadhaar202205040207.xml")
root = tree.getroot()
print(root)
try:
    verified_data = XMLVerifier().verify(root, require_x509=False, x509_cert=key).signed_xml
    print("Data is : %s" % verified_data)
except Exception as exce:
    print(exce)

此代码出现错误:

签名验证失败:无效填充

如果有任何其他解决方案来验证xml签名。请告诉我们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-17 10:25:21

我发现XMLVerifier对验证签名的xml很有用。pip软件包需要安装

pip安装signxml

这是我的工作片段

代码语言:javascript
复制
from signxml import XMLVerifier
aadhar_file = '<path_to_signed_aadhaar_xml>'
cert = open('path_to_uidai_auth_sign_prod_2023.pem', "r+").read()
root = le.parse(aadhar_file).getroot()
try:
    verify = XMLVerifier().verify(root, x509_cert=cert)
except Exception as e:
    print(str(e))

如果签名无效,这将引发异常。

InvalidDigest:摘要不匹配的引用0

注意:请使用有效证书(基于推荐的)来验证aadhaar xml

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72074524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档