def main(): clshsm = Signer(dllpath) keyid, cert = clshsm.certificate() def signproc(tosign, algosig): return clshsm.sign(keyid, tosign, algosig) data = open("xml.xml", "rb").read() cert = x509.load_der_x509_certificate(cert, backend=default_backend()) certcontent = cert.public_bytes(serialization.Encoding.DER) cls = xades.BES() doc = cls.build( "dokument.xml", data, "application/xml", cert, certcontent, signproc, False, True, ) data = etree.tostring(doc, encoding="UTF-8", xml_declaration=True, standalone=False) open("xml-xades-bes-xml.xml", "wb").write(data)
def main(): clshsm = Signer(dllpath) keyid, cert = clshsm.certificate() def signproc(tosign, algosig): return clshsm.sign(keyid, tosign, algosig) data = open("xml.xml", "rb").read() cert = x509.load_der_x509_certificate(cert, backend=default_backend()) certcontent = cert.public_bytes(serialization.Encoding.DER) for tspurl, tspcred in ((None, None), ("http://public-qlts.certum.pl/qts-17", None)): cls = xades.BES() doc = cls.enveloping( "dokument.xml", data, "application/xml", cert, certcontent, signproc, False, False, False, tspurl, tspcred, ) data = etree.tostring(doc, encoding="UTF-8", xml_declaration=True, standalone=False) if tspurl is None: open("xml-hsm-certum-enveloping.xml", "wb").write(data) else: open("xml-hsm-certum-enveloping-t.xml", "wb").write(data)
def assina_xml(self, arquivo): def signproc(tosign, algosig): key = self.certificado.key signed_value_signature = key.sign( tosign, padding.PKCS1v15(), getattr(hashes, algosig.upper())()) return signed_value_signature cert = self.certificado.cert certcontent = signer.cert2asn(cert).dump() cls = xades.BES() doc = cls.build('documento.xml', arquivo, 'application/xml', cert, certcontent, signproc, False, True) return etree.tostring(doc, encoding='UTF-8', xml_declaration=True, standalone=False)
def main(): p12 = load_pkcs12(open('demo2_user1.p12', 'rb').read(), '1234') def signproc(tosign, algosig): key = p12.get_privatekey().to_cryptography_key() signed_value_signature = key.sign(tosign, padding.PKCS1v15(), getattr(hashes, algosig.upper())()) return signed_value_signature data = open('xml.xml', 'rb').read() cert = p12.get_certificate().to_cryptography() certcontent = signer.cert2asn(cert).dump() cls = xades.BES() doc = cls.build('xml.xml', data, 'text/xml', cert, certcontent, signproc, False, False, True) data = etree.tostring(doc, encoding='UTF-8', xml_declaration=True, standalone=False) open('xml-xades-bes-detached.xml', 'wb').write(data)
def main(): with open('demo2_user1.p12', 'rb') as fp: p12 = pkcs12.load_key_and_certificates(fp.read(), b'1234', backends.default_backend()) def signproc(tosign, algosig): key = p12[0] signed_value_signature = key.sign( tosign, padding.PKCS1v15(), getattr(hashes, algosig.upper())() ) return signed_value_signature data = open('xml.xml', 'rb').read() cert = p12[1] certcontent = signer.cert2asn(cert).dump() cls = xades.BES() doc = cls.build('xml.xml', data, 'text/xml', cert, certcontent, signproc, False, False, True) data = etree.tostring(doc, encoding='UTF-8', xml_declaration=True, standalone=False) open('xml-xades-bes-detached.xml', 'wb').write(data)