<?xml version='1.0' encoding='ISO-8859-1'?>
<Ficha version="1.0">
<Documento ID="F1">
<Animal>
<tipo>33</Tipo>
<raza>1</raza>
<Fch>2021-02-22</Fch>
</Animal>
</Documento>
</Ficha>
from lxml import etree
import xml.etree.ElementTree as ET
from signxml import XMLSigner, XMLVerifier
import signxml
import sys
file='example.xml'
uri='F1'
ET.register_namespace('', "http://www.w3.org/2000/09/xmldsig#");
parser = etree.XMLParser(encoding='ISO-8859-1', resolve_entities=False)
el = ET.parse(file,parser)
root = el.getroot()
cert = open("cert.pem").read()
key = open("key.pem").read()
signed_root = XMLSigner(method=signxml.methods.enveloped,
signature_algorithm='rsa-sha1',
c14n_algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315',
digest_algorithm="sha1").sign(root, key=key,cert=cert,reference_uri=uri,always_add_key_value=True)
tree = ET.ElementTree(signed_root)
<?xml version='1.0' encoding='ISO-8859-1'?>
<Ficha xmlns="http://www.w3.org/2000/09/xmldsig#" version="1.0">
<Documento ID="F1">
<Animal>
<tipo>33</Tipo>
<raza>1</raza>
<Fch>2021-02-22</Fch>
</Animal>
</Documento>
<Signature>
.....
.....
.....
</Signature>
</Ficha>
我想要的是:
<?xml version='1.0' encoding='ISO-8859-1'?>
<Ficha version="1.0">
<Documento ID="F1">
<Animal>
<tipo>33</Tipo>
<raza>1</raza>
<Fch>2021-02-22</Fch>
</Animal>
</Documento>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
.....
.....
.....
</Signature>
</Ficha>
我做错了什么?我需要将属性xmlns=“http://www.w3.org/2000/09/xmldsig#”从ficha标记更改为签名标记
Ficha是根元素,我认为您使用。sign(root,......)特别是在根元素上调用sign
我会给签名元素一个变量名,然后替换
.符号(根...
我正在尝试构建我的第一个签名APK以供发布,但出现了一些错误。看起来效果很好,但现在我就是无法生成APK。我做了研究,但什么也没找到。 Gradle版本:4.8,Android插件版本3.1.4,这是我的应用程序Gradle屏幕截图:link 这来自assembleDebug: 我曾经有过布局和不赞成使用的功能的其他问题,但我解决了它。其中一个就这样消失了,但我什么也没做:-) 我已经尝试过的事情
本文向大家介绍Java使用DSA密钥对生成XML签名的方法,包括了Java使用DSA密钥对生成XML签名的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java使用DSA密钥对生成XML签名的方法。分享给大家供大家参考。具体实现方法如下: MainClass.java代码如下: 希望本文所述对大家的java程序设计有所帮助。
我有代码使用为ECDSA签名生成串联(r-s)签名和JWK格式的密钥: 似乎有效。我也有使用来实现相同目标的代码: 这两者都返回128字节的缓冲区;并且它们可以交叉验证(例如,我可以用< code>SubtleCrypto验证< code > JSR sign 签名,反之亦然)。然而,当我在Node.js 模块中使用< code>Sign类时,我似乎得到了完全不同的东西。 在这里,我得到了一个可变
如果你想把自己的资源发放给第三方用户访问,但是又不想开放Bucket的读权限,可以通过生成预签名URL的形式提供给用户一个临时的访问URL。在生成URL时,你可以指定URL过期的时间,从而限制用户长时间访问。 生成一个预签名的URL 如下代码: String bucketName = "your-bucket-name"; String key = "your-object-key"; // 设
如果你想把自己的资源发放给第三方用户访问,但是又不想开放Bucket的读权限,可以通过生成预签名URL的形式提供给用户一个临时的访问URL。在生成URL时,你可以指定URL过期的时间,从而限制用户长时间访问。 生成预签名URL来获取Object <?php $url = $client->generatePresignedUrl(array( 'Bucket' => 'your-buck