5
5
-k|--key <keyspec>
6
6
[-c|--cert <certspec>]
7
7
[-o|--output <output>]
8
+ [-p|--pos <signature element position>]
8
9
[<xml-file to be signed>]
9
10
"""
10
11
@@ -31,7 +32,7 @@ def sign_cmd():
31
32
opts = None
32
33
args = None
33
34
try :
34
- opts , args = getopt .getopt (sys .argv [1 :], 'hk:c:o:r:' ,
35
+ opts , args = getopt .getopt (sys .argv [1 :], 'hk:c:o:r:p: ' ,
35
36
['help' ,
36
37
'key=' ,
37
38
'cert=' ,
@@ -40,7 +41,8 @@ def sign_cmd():
40
41
'output=' ,
41
42
'loglevel=' ,
42
43
'logfile=' ,
43
- 'reference=' ])
44
+ 'reference=' ,
45
+ 'pos=' ])
44
46
except getopt .error as msg :
45
47
print (msg )
46
48
print (__doc__ )
@@ -53,6 +55,7 @@ def sign_cmd():
53
55
loglevel = logging .WARN
54
56
logfile = None
55
57
do_xinclude = False
58
+ insert_index = 0
56
59
for o , a in opts :
57
60
if o in ('-h' , '--help' ):
58
61
print (__doc__ )
@@ -76,6 +79,8 @@ def sign_cmd():
76
79
raise ValueError ('Invalid log level: %s' % a )
77
80
elif o in '--logfile' :
78
81
logfile = a
82
+ elif o in ('-p' ,'--pos' ):
83
+ insert_index = int (a )
79
84
80
85
log_args = {'level' : loglevel }
81
86
if logfile is not None :
@@ -101,13 +106,13 @@ def _resolve_reference_uri(ref, t): # can probably be improved a bit
101
106
if do_xinclude :
102
107
t .xinclude ()
103
108
reference_uri = _resolve_reference_uri (reference , t )
104
- signed = sign (t , keyspec , certspec , reference_uri = reference_uri )
109
+ signed = sign (t , keyspec , certspec , reference_uri = reference_uri , insert_index = insert_index )
105
110
if signed :
106
111
serialize (signed , stream = output )
107
112
else :
108
113
t = etree .parse (sys .stdin )
109
114
reference_uri = _resolve_reference_uri (reference , t )
110
- signed = sign (t , keyspec , certspec , reference_uri = reference_uri )
115
+ signed = sign (t , keyspec , certspec , reference_uri = reference_uri , insert_index = insert_index )
111
116
if signed :
112
117
serialize (signed , stream = output )
113
118
0 commit comments