Skip to content

Commit b6a5322

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

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

src/saml2/metadata.py

-2
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,12 @@
6565
def metadata_tostring_fix(desc, nspair, xmlstring=""):
6666
if not xmlstring:
6767
xmlstring = desc.to_string(nspair)
68-
6968
try:
7069
if "\"xs:string\"" in xmlstring and XMLNSXS not in xmlstring:
7170
xmlstring = xmlstring.replace(MDNS, MDNS + XMLNSXS)
7271
except TypeError:
7372
if b"\"xs:string\"" in xmlstring and bXMLNSXS not in xmlstring:
7473
xmlstring = xmlstring.replace(bMDNS, bMDNS + bXMLNSXS)
75-
7674
return xmlstring
7775

7876

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"))
79+
print(xmldoc)
7480
else:
7581
for eid in eds:
7682
if args.sign:
7783
assert conf.key_file
7884
assert conf.cert_file
79-
eid, xmldoc = sign_entity_descriptor(eid, args.id, secc)
85+
sign_alg = args.signalg
86+
digest_alg = args.digestalg
87+
eid, xmldoc = sign_entity_descriptor(eid, args.id, secc, sign_alg,
88+
digest_alg)
8089
else:
8190
xmldoc = None
8291

8392
valid_instance(eid)
8493
xmldoc = metadata_tostring_fix(eid, nspair, xmldoc)
85-
print(xmldoc.decode("utf-8"))
94+
print(xmldoc)

0 commit comments

Comments
 (0)