Skip to content

Commit 23a0c8b

Browse files
committed
metadata_tostring_fix handle and return only strings
1 parent ca0696c commit 23a0c8b

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

src/saml2/metadata.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,13 @@
6565
def metadata_tostring_fix(desc, nspair, xmlstring=""):
6666
if not xmlstring:
6767
xmlstring = desc.to_string(nspair)
68-
68+
6969
try:
7070
if "\"xs:string\"" in xmlstring and XMLNSXS not in xmlstring:
7171
xmlstring = xmlstring.replace(MDNS, MDNS + XMLNSXS)
7272
except TypeError:
7373
if b"\"xs:string\"" in xmlstring and bXMLNSXS not in xmlstring:
7474
xmlstring = xmlstring.replace(bMDNS, bMDNS + bXMLNSXS)
75-
7675
return xmlstring
7776

7877

tools/make_metadata.py

+12-3
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@
3434
help="xmlsec binaries to be used for the signing")
3535
parser.add_argument('-w', dest='wellknown',
3636
help="Use wellknown namespace prefixes")
37+
parser.add_argument('-S', dest='signalg',
38+
default='http://www.w3.org/2000/09/xmldsig#rsa-sha1',
39+
help="Algorithm to sign the metadata")
40+
parser.add_argument('-D', dest='digestalg',
41+
default='http://www.w3.org/2000/09/xmldsig#sha1',
42+
help="Algorithm to compute the digest of the metadata")
3743
parser.add_argument(dest="config", nargs="+")
3844
args = parser.parse_args()
3945

@@ -70,16 +76,19 @@
7076
args.sign, secc)
7177
valid_instance(desc)
7278
xmldoc = metadata_tostring_fix(desc, nspair, xmldoc)
73-
print(xmldoc.decode("utf-8"))
7479
else:
7580
for eid in eds:
7681
if args.sign:
7782
assert conf.key_file
7883
assert conf.cert_file
79-
eid, xmldoc = sign_entity_descriptor(eid, args.id, secc)
84+
sign_alg = args.signalg
85+
digest_alg = args.digestalg
86+
eid, xmldoc = sign_entity_descriptor(eid, args.id, secc, sign_alg,
87+
digest_alg)
8088
else:
8189
xmldoc = None
8290

8391
valid_instance(eid)
8492
xmldoc = metadata_tostring_fix(eid, nspair, xmldoc)
85-
print(xmldoc.decode("utf-8"))
93+
94+
print(xmldoc)

0 commit comments

Comments
 (0)