@@ -77,8 +77,18 @@ def metadata_tostring_fix(desc, nspair, xmlstring=""):
77
77
return xmlstring
78
78
79
79
80
- def create_metadata_string (configfile , config = None , valid = None , cert = None ,
81
- keyfile = None , mid = None , name = None , sign = None ):
80
+ def create_metadata_string (
81
+ configfile ,
82
+ config = None ,
83
+ valid = None ,
84
+ cert = None ,
85
+ keyfile = None ,
86
+ mid = None ,
87
+ name = None ,
88
+ sign = None ,
89
+ sign_alg = None ,
90
+ digest_alg = None ,
91
+ ):
82
92
valid_for = 0
83
93
nspair = {"xs" : "http://www.w3.org/2001/XMLSchema" }
84
94
# paths = [".", "/opt/local/bin"]
@@ -96,17 +106,19 @@ def create_metadata_string(configfile, config=None, valid=None, cert=None,
96
106
conf = Config ()
97
107
conf .key_file = config .key_file or keyfile
98
108
conf .cert_file = config .cert_file or cert
99
- conf .debug = 1
100
109
conf .xmlsec_binary = config .xmlsec_binary
101
110
secc = security_context (conf )
102
111
112
+ sign_alg = sign_alg or config .signing_algorithm
113
+ digest_alg = digest_alg or config .digest_algorithm
103
114
if mid :
104
- eid , xmldoc = entities_descriptor (eds , valid_for , name , mid ,
105
- sign , secc )
115
+ eid , xmldoc = entities_descriptor (
116
+ eds , valid_for , name , mid , sign , secc , sign_alg , digest_alg
117
+ )
106
118
else :
107
119
eid = eds [0 ]
108
120
if sign :
109
- eid , xmldoc = sign_entity_descriptor (eid , mid , secc )
121
+ eid , xmldoc = sign_entity_descriptor (eid , mid , secc , sign_alg , digest_alg )
110
122
else :
111
123
xmldoc = None
112
124
@@ -794,8 +806,9 @@ def entity_descriptor(confd):
794
806
return entd
795
807
796
808
797
- def entities_descriptor (eds , valid_for , name , ident , sign , secc , sign_alg = None ,
798
- digest_alg = None ):
809
+ def entities_descriptor (
810
+ eds , valid_for , name , ident , sign , secc , sign_alg = None , digest_alg = None
811
+ ):
799
812
entities = md .EntitiesDescriptor (entity_descriptor = eds )
800
813
if valid_for :
801
814
entities .valid_until = in_a_while (hours = valid_for )
0 commit comments