@@ -115,29 +115,31 @@ def get_xmlsec_binary(paths=None):
115
115
found then an exception is raised.
116
116
"""
117
117
if os .name == "posix" :
118
- bin_name = "xmlsec1"
118
+ bin_name = [ "xmlsec1" ]
119
119
elif os .name == "nt" :
120
- bin_name = " xmlsec1.exe"
120
+ bin_name = [ "xmlsec.exe" , " xmlsec1.exe"]
121
121
else : # Default !?
122
- bin_name = "xmlsec1"
122
+ bin_name = [ "xmlsec1" ]
123
123
124
124
if paths :
125
- for path in paths :
126
- fil = os .path .join (path , bin_name )
125
+ for bname in bin_name :
126
+ for path in paths :
127
+ fil = os .path .join (path , bname )
128
+ try :
129
+ if os .lstat (fil ):
130
+ return fil
131
+ except OSError :
132
+ pass
133
+
134
+ for path in os .environ ["PATH" ].split (os .pathsep ):
135
+ for bname in bin_name :
136
+ fil = os .path .join (path , bname )
127
137
try :
128
138
if os .lstat (fil ):
129
139
return fil
130
- except Exception :
140
+ except OSError :
131
141
pass
132
142
133
- for path in os .environ ["PATH" ].split (os .pathsep ):
134
- fil = os .path .join (path , bin_name )
135
- try :
136
- if os .lstat (fil ):
137
- return fil
138
- except Exception :
139
- pass
140
-
141
143
raise SigverError ("Can't find %s" % bin_name )
142
144
143
145
@@ -652,16 +654,15 @@ def version(self):
652
654
pof = Popen (com_list , stderr = PIPE , stdout = PIPE )
653
655
try :
654
656
return pof .stdout .read ().split (" " )[1 ]
655
- except Exception :
657
+ except IndexError :
656
658
return ""
657
659
658
660
def encrypt (self , text , recv_key , template , key_type ):
659
661
logger .debug ("Encryption input len: %d" % len (text ))
660
662
_ , fil = make_temp ("%s" % text , decode = False )
661
663
662
664
com_list = [self .xmlsec , "--encrypt" , "--pubkey-cert-pem" , recv_key ,
663
- "--session-key" , key_type , "--xml-data" , fil ,
664
- ]
665
+ "--session-key" , key_type , "--xml-data" , fil ]
665
666
666
667
(_stdout , _stderr , output ) = self ._run_xmlsec (com_list , [template ],
667
668
exception = DecryptError ,
@@ -673,8 +674,7 @@ def decrypt(self, enctext, key_file):
673
674
_ , fil = make_temp ("%s" % enctext , decode = False )
674
675
675
676
com_list = [self .xmlsec , "--decrypt" , "--privkey-pem" ,
676
- key_file , "--id-attr:%s" % ID_ATTR , ENC_KEY_CLASS ,
677
- ]
677
+ key_file , "--id-attr:%s" % ID_ATTR , ENC_KEY_CLASS ]
678
678
679
679
(_stdout , _stderr , output ) = self ._run_xmlsec (com_list , [fil ],
680
680
exception = DecryptError ,
@@ -699,9 +699,7 @@ def sign_statement(self, statement, class_name, key_file, node_id,
699
699
700
700
com_list = [self .xmlsec , "--sign" ,
701
701
"--privkey-pem" , key_file ,
702
- "--id-attr:%s" % id_attr , class_name ,
703
- #"--store-signatures"
704
- ]
702
+ "--id-attr:%s" % id_attr , class_name ]
705
703
if node_id :
706
704
com_list .extend (["--node-id" , node_id ])
707
705
0 commit comments