scep 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +5 -1
  4. data/.yardopts +3 -0
  5. data/README.md +19 -1
  6. data/lib/scep.rb +2 -4
  7. data/lib/scep/asn1.rb +38 -0
  8. data/lib/scep/endpoint.rb +2 -0
  9. data/lib/scep/jscep_cli.rb +26 -0
  10. data/lib/scep/keypair.rb +4 -0
  11. data/lib/scep/pki_operation/base.rb +25 -0
  12. data/lib/scep/pki_operation/request.rb +122 -1
  13. data/lib/scep/version.rb +1 -1
  14. data/scep.gemspec +4 -1
  15. data/spec/console +2 -0
  16. data/spec/fixtures/ejbca/ca.crt +20 -0
  17. data/spec/fixtures/ejbca/ca.key +27 -0
  18. data/spec/fixtures/ejbca/ca/README +14 -0
  19. data/spec/fixtures/ejbca/ca/management_ca/data.xml +511 -0
  20. data/spec/fixtures/ejbca/ca/management_ca/keystore.p12.b64 +75 -0
  21. data/spec/fixtures/ejbca/ca/management_ca/xkmskeystore.p12.b64 +75 -0
  22. data/spec/fixtures/ejbca/management_ca.crt +20 -0
  23. data/spec/fixtures/ejbca/management_ca.full.crt +22 -0
  24. data/spec/fixtures/ejbca/management_ca.key +27 -0
  25. data/spec/fixtures/ejbca/management_ca.new.key +27 -0
  26. data/spec/fixtures/ejbca/sample-request.csr +8 -0
  27. data/spec/fixtures/ejbca/sample-request.key +9 -0
  28. data/spec/fixtures/ejbca/sample-scep-request.pkcs7 +0 -0
  29. data/spec/fixtures/ejbca/subca.crt +20 -0
  30. data/spec/fixtures/ejbca/subca.key +27 -0
  31. data/spec/fixtures/ejbca/subca.p12.base64 +75 -0
  32. data/spec/fixtures/ejbca/superadmin.key +27 -0
  33. data/spec/fixtures/foo.b64 +30 -0
  34. data/spec/integration/ejbca_spec.rb +79 -0
  35. data/spec/integration/jscep_cli_spec.rb +21 -0
  36. data/spec/lib/scep/pki_operation/base_spec.rb +32 -0
  37. data/spec/lib/scep/pki_operation/request_spec.rb +64 -8
  38. data/spec/spec_helper.rb +10 -2
  39. metadata +74 -3
@@ -0,0 +1,14 @@
1
+ Contains data extracted from EJBCA.
2
+
3
+ PKCS#12 password is "foo123"
4
+
5
+ Sample decryption:
6
+
7
+ content = read_fixture('ejbca/ca/management_ca/keystore.p12.b64')
8
+ decoded = Base64.decode64(content)
9
+ p12 = OpenSSL::PKCS12.new(decoded, 'foo123')
10
+ puts p12.key
11
+
12
+ One-liner:
13
+
14
+ OpenSSL::PKCS12.new(Base64.decode64(read_fixture('ejbca/ca/management_ca/keystore.p12.b64')), 'foo123')
@@ -0,0 +1,511 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <java version="1.7.0_65" class="java.beans.XMLDecoder">
3
+ <object class="org.cesecore.util.Base64PutHashMap">
4
+ <void method="put">
5
+ <string>validity</string>
6
+ <long>3650</long>
7
+ </void>
8
+ <void method="put">
9
+ <string>signedby</string>
10
+ <int>1</int>
11
+ </void>
12
+ <void method="put">
13
+ <string>description</string>
14
+ <string>ManagementCAcreated using CLI</string>
15
+ </void>
16
+ <void method="put">
17
+ <string>revokationreason</string>
18
+ <int>-1</int>
19
+ </void>
20
+ <void method="put">
21
+ <string>certificateprofileid</string>
22
+ <int>3</int>
23
+ </void>
24
+ <void method="put">
25
+ <string>crlperiod</string>
26
+ <long>86400000</long>
27
+ </void>
28
+ <void method="put">
29
+ <string>crlIssueInterval</string>
30
+ <long>0</long>
31
+ </void>
32
+ <void method="put">
33
+ <string>crlOverlapTime</string>
34
+ <long>36000000</long>
35
+ </void>
36
+ <void method="put">
37
+ <string>deltacrlperiod</string>
38
+ <long>0</long>
39
+ </void>
40
+ <void method="put">
41
+ <string>crlpublishers</string>
42
+ <object class="java.util.ArrayList"/>
43
+ </void>
44
+ <void method="put">
45
+ <string>finishuser</string>
46
+ <boolean>true</boolean>
47
+ </void>
48
+ <void method="put">
49
+ <string>includeinhealthcheck</string>
50
+ <boolean>true</boolean>
51
+ </void>
52
+ <void method="put">
53
+ <string>doEnforceUniquePublicKeys</string>
54
+ <boolean>true</boolean>
55
+ </void>
56
+ <void method="put">
57
+ <string>doEnforceUniqueDistinguishedName</string>
58
+ <boolean>true</boolean>
59
+ </void>
60
+ <void method="put">
61
+ <string>doEnforceUniqueSubjectDNSerialnumber</string>
62
+ <boolean>false</boolean>
63
+ </void>
64
+ <void method="put">
65
+ <string>useCertreqHistory</string>
66
+ <boolean>false</boolean>
67
+ </void>
68
+ <void method="put">
69
+ <string>useUserStorage</string>
70
+ <boolean>true</boolean>
71
+ </void>
72
+ <void method="put">
73
+ <string>useCertificateStorage</string>
74
+ <boolean>true</boolean>
75
+ </void>
76
+ <void method="put">
77
+ <string>extendedcaservice2</string>
78
+ <object class="java.util.LinkedHashMap">
79
+ <void method="put">
80
+ <string>IMPLCLASS</string>
81
+ <string>org.ejbca.core.model.ca.caadmin.extendedcaservices.XKMSCAService</string>
82
+ </void>
83
+ <void method="put">
84
+ <string>extendedcaservicetype</string>
85
+ <int>2</int>
86
+ </void>
87
+ <void method="put">
88
+ <string>keyspec</string>
89
+ <string>2048</string>
90
+ </void>
91
+ <void method="put">
92
+ <string>keyalgorithm</string>
93
+ <string>RSA</string>
94
+ </void>
95
+ <void method="put">
96
+ <string>subjectdn</string>
97
+ <string>Q049WEtNU0NlcnRpZmljYXRlLCBDTj1NYW5hZ2VtZW50Q0EsTz1FSkJDQSBTYW1wbGUsQz1TRQ==</string>
98
+ </void>
99
+ <void method="put">
100
+ <string>subjectaltname</string>
101
+ <string></string>
102
+ </void>
103
+ <void method="put">
104
+ <string>status</string>
105
+ <int>1</int>
106
+ </void>
107
+ <void method="put">
108
+ <string>version</string>
109
+ <float>2.0</float>
110
+ </void>
111
+ <void method="put">
112
+ <string>xkmskeystore</string>
113
+ <string>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
147
+ Bg5zUirKoyFInxVN0rcGRzJP1TZBP0C7O8KamuPi7p3i4NifJ/7X8qc4J7pGasP2
148
+ U66k5tLwkiP8G5r2V9i9HYg8+C00s9GKtWOe03PgY5SS0sysnQi62OHZN3+fITVh
149
+ lDHLcL05NidEQWxG7jtqCQb3pV7DDMe7LAhTtygPuJ4ybmB6UFJQYk1nO0P5EAH1
150
+ aCOBxqX3fOvcEs7gpsB0WisgDaEcNSaoEGUNoeowVly/9opgSsWrJ4+N/Is6FyYW
151
+ yr5IAQ7EJ9amZwtoMKob7115pAfUa2J77TWkHRbXnNl9AjR+YrCpwQ33LOvbxByo
152
+ zZRGG4o+dvd7i2mrseYAcRdeXwI4wPvVGNRgWLEyFCMtnuELADwWVvgXIUvSZi2q
153
+ +/fYvUN0GfEwOrP/yY3wL4Ta3laxJpdPgvNeOASLzG6ZeBN4SfoKXrEQ0IzRlJ7U
154
+ M4drUTDjtDEhVxv59s9jq58KctTIDDfGmYKoSor4oP/wLT0VYOlLc/wSy5k1cnRN
155
+ vmaJ/iMHfkV7yZOcXekXNMKQcijD+1ja5zd160NeD34JY/jbzTmatvU/wsXTKB/o
156
+ P97phnyQcwgZBcFds4/PEYFG5PZSsFLG5iY7CPvEpgU40S+fxrlI/ovZL7srNJQ8
157
+ qu6hwBuOjQfkTdwCfDkil7g4GBSh0M5MUb1D6QANwZhiyJM7DtmW7htZEogGeCG6
158
+ sohkdtW77w48NyJtPKfq37e5F2JKiAZioYRlZrRgp3oubSikUZCFV95xJvqy4P02
159
+ VcCsO0kiPzytmtDm3tqj56X/m8t8dR19TVK2NZNmcAzcvC+yNO1V6d67DuMp43SI
160
+ fVYtlTVntUhKXZhpgPFjez8eeFujUsSyO9RTtpM0i96Qd8lqrD/58pzhjhhgMh8k
161
+ itPUnfm2L4Exe/ZfwjMW09m361r/mt5IIl5DIym95zf3ufXYTq+O8zMbEOHXij+z
162
+ yMhoRwkpOeby6DD8e0hUUtxbyiNsWLBxZPFFLaGo0uM1k31EiTNHHFMSHJIMsedh
163
+ Z6GU8rtj4HrMjbU2MPWC24WCqcSLKH6hHe3qRndSHhL2FwPb9E9RAqJr9VkW5gDo
164
+ iN2SpJu0sMwXucThEh8W+ilcJO0SXBVAJqPlNYHX6jMIYBKstdWWpfp92iL7QyFj
165
+ xsQqNxK8Jc3P90UXes7nC6kOhAcoKvHMjzgOkxgM3vEbEWjsD6cMdCkJ/EYuvdfC
166
+ N4A1ZUtPw42W3auF6UJUEi0NrzaY/jfSdwsRRojZ7LcBeb4660MRFnuY+JkX+WSS
167
+ 8UsKZuc1RRSO1WibYnmpqht+gsZo/U7SOHBtPEl6FngnL90R3pUWgwVKBgY4L/gA
168
+ +dvQRnrYooma3pt4enJ15hrNSuAZMho4ILyTMp9geSxVRsTIsWYXM/ZDTdBJIu/8
169
+ XIAjGqgTKT3AVqJdBB7YcgluiqLSI+cr6nIvrylrShcrn0AQhwc5Z+BVokUBU2Kn
170
+ 4xIzd1uQJsXrDS6rjcl6xDNOesHlZAElpOtOAyT6QaWC9jfrzWN7Yuul8F4Vocgj
171
+ xfkLlyLeEinOLM3YivIIKAYIjazASZtHR1DLrWtjTJH6CSSQ6QysEJlpwLdpIzke
172
+ 8XVKFyt9h0iEr3voK3yqHuRJX/fD4LfTO1o1FzbCnDcNLEWtUaB/6h1pEuTaGAVb
173
+ tMxf7TQ1wssWpZ92R8KTYZ6ekXzpJ83Ab7B4lOPTUq+hrFPodKk4AVTEKAakQazg
174
+ XlX/bvDKoTqnU+JDSuHCNum++zMQPL24J16kox/4AVM9uqGA4NJuT0yFD9ng9yUo
175
+ y3M0CB1WNNNN44HLsMvFt5aLZ3YpTWrxsvlORH7f5ofSrR5A4TG4A40uI24MoqnD
176
+ c2xaoDJWN+Mz6FYFK8r67LmqHTDtSrZ7VRn5OUVkHEg+jW2ZpJyWay6xxyODAiNh
177
+ c2DBKaDlA0Pt1NJIJSha8zwoziQxX+z+/HOEN6fAZOcz6PR8/HpqJKlR/zmFH0Dk
178
+ PiyGZA2hKf37ohOcXQLoUvjPxtUiSv2FNA7tGtuzWIDkzfNQqXFWYHt5il+M4BP+
179
+ KLixuNqt1JYMzCyG59W18us6lyPZ5/Q8WQnOxcXVN65zHLy5Bzk9FSisj3I6xHoR
180
+ LVRvCZ3LXZSJJiquFXgAlnvSJg5vaYJbPiIfLSetO0RFREbMQkE7C0qdlintHm5J
181
+ aa+p2VRJXbmJ5HXWtzUx4dOQRUa+TYdfEj5SbhpytyVmseeTMbckRLx/UUgpobWI
182
+ 2AtpemvvGAnAZhKiVyzLs9O2ZLnnwoImsOc1pfshJpMM/xk1iEHgUCUc096IUNUM
183
+ sAk4iUDQKIygy3tSX7l3l9LktM8eAPPboomoxLuuDSToEcsGSht95Xjs03djpC4e
184
+ J2Pe8JrnsHw8q2owUGvUu7iNXBNRll+fKjLvb6AgRqtpck5OtKukTilVFHlGfh54
185
+ NdnIhAhloSQBREjPfBxVVKSDE1aFQix6R1E7HK+nK68F62+IMsrGU+3Q8W0MK2xS
186
+ 6B4pcvc7zt25MD0wITAJBgUrDgMCGgUABBQTPf4B0JIJaGPP6ViZfVR62K1/GQQU
187
+ /eqQLIb1ndRarDPhYZjQXUTTC00CAgQA</string>
188
+ </void>
189
+ </object>
190
+ </void>
191
+ <void method="put">
192
+ <string>extendedcaservice3</string>
193
+ <object class="java.util.LinkedHashMap">
194
+ <void method="put">
195
+ <string>IMPLCLASS</string>
196
+ <string>org.ejbca.core.model.ca.caadmin.extendedcaservices.CmsCAService</string>
197
+ </void>
198
+ <void method="put">
199
+ <string>extendedcaservicetype</string>
200
+ <int>3</int>
201
+ </void>
202
+ <void method="put">
203
+ <string>keyspec</string>
204
+ <string>2048</string>
205
+ </void>
206
+ <void method="put">
207
+ <string>keyalgorithm</string>
208
+ <string>RSA</string>
209
+ </void>
210
+ <void method="put">
211
+ <string>subjectdn</string>
212
+ <string>Q049Q21zQ2VydGlmaWNhdGUsIENOPU1hbmFnZW1lbnRDQSxPPUVKQkNBIFNhbXBsZSxDPVNF</string>
213
+ </void>
214
+ <void method="put">
215
+ <string>subjectaltname</string>
216
+ <string></string>
217
+ </void>
218
+ <void method="put">
219
+ <string>status</string>
220
+ <int>1</int>
221
+ </void>
222
+ <void method="put">
223
+ <string>version</string>
224
+ <float>2.0</float>
225
+ </void>
226
+ <void method="put">
227
+ <string>keystore</string>
228
+ <string>MIIN9AIBAzCCDa4GCSqGSIb3DQEHAaCCDZ8Egg2bMIINlzCCBYQGCSqGSIb3DQEH
229
+ AaCCBXUEggVxMIIFbTCCBWkGCyqGSIb3DQEMCgECoIIE+jCCBPYwKAYKKoZIhvcN
230
+ AQwBAzAaBBRzqxgC/j0SbhNOjCWPnfk5tnaXvAICBAAEggTIVFYsY4CUcXCCmFzM
231
+ kbSfSSQUIGxRIDJTYbWN/kvDTLJBniPJqYFuK3tGSx1FHxFlu8Kwni9KPRM9EAGc
232
+ 8BZaQErE5t07UUZzNC+H8WcDsVY4e2c0ATa8IWcYjwU84tEalXtNo3udrPsLppXe
233
+ fLkX2C2WXhWFXZOqeY7pyOkaLLO9L0cLYu2b85USxOd1gMA/IjJXRofJifUa/H1Y
234
+ c+TIpplFT1EjHy7+977u/09wzAsRdtkx0siWvjMghsB28lbq5d/p5SZLpnHYNsaY
235
+ TZJKiLDH/6OqdFhDqkiwW+sfKvUBC6Xf7ZvOR9yQzoIuVHmR9qSOb5Csa8KM9cXt
236
+ IRfDOCRQ9+kBol1jZkwLg5oLQq2xsz8D68Af+KktO+ROWA1/V0mQeN9kIrSc88T5
237
+ NyAJ7RZNojdQ87URyur0b+0O65ooGijJYOJl4yUbRQSMfagZqCqFQmjIaTscmCqI
238
+ 62rbKLW9vJ4xcDFpszkTvZlKwnqQc+NfdmMPvgv9JGMRq+uqRQbkJlIW7b2pMgeC
239
+ 2dtuHuTN9A1DiaGBn1ykIyfTUp5ZUSHItv/SUI4wbbEMG5v/42FHUQyUNWm2N1/s
240
+ 9QFNmwey3t7fJRRu/Pvxpz3dk25TWX8p2u0QHWItDPGk0o3n4DldWZwT4Sfv1As4
241
+ QnN3K8cNB7Xo1Jceek1VjD77azLIYIxjWoacYRnpTOnw1h1JyNbYIh1d+Ssacb9N
242
+ MNbl3773vtmOocDDw7ioYw8IPgTBSG/rKWWgm5zOhLIsTI0lK0Zt2NwkWYzqBHRZ
243
+ H31ReRZ3+3UerH+HXstOwPuQ8b3Uru52OdJQJdnVZxaxZeGif7oRNbFPjUk5kPlP
244
+ 2SJhhOah4C33XNyUSkzHkDloeCvjvBzSKwTTJEj53I1ESZUq0f9INCFPNFU/bk4H
245
+ dgdt+SS2AIKk9K2wkDP+rIdB+tbMkYWCev6GrbfglL3nxsANN0znSOsxye/Ra7WS
246
+ EyG56wPdZ+ucfysXm/CLGCWJdKcVZDC4b7RJ7pbSivLbiI86FWD+OoEGqLjX1STw
247
+ NpsqixjelLJ6wmBL05PtpWe2VL9iF3q3wmiufDhNliaU5MwUvmPBpYMq4m8EQjaF
248
+ p2HyGntDCXA+a+q80niLv2K+IlbUrHk0P/UKCZy20tIk4zBU7jX2WwYtYJOMSuyV
249
+ VBwQWaWmOZrzsH1kmFr4IhbeCjJjb06tUQBmJufoVwrEAVxFmul9yWcLNnWfTtMx
250
+ 1iu6vTwFVoqjAdWmiLHP6YfGvaBY6gcUHfv11YYsowU9pWb+YRyfUa7KfsbL9mzx
251
+ AP/04LEwuu/CrPyoZbVcycqErH4uA2y1YYeckJfPT4xReZacF4MGxsWtfjI4+3q3
252
+ o6vMr5OsckCBsZexCwziSlMedx8hxAOgSgPerfzF/8BgTUwo6YBy5KVEIGZBrn/t
253
+ 3aW9eB9gKmG4E1vi4ozXWGFIFBFKm81Y+NZE/IHTHqNr88FFUFBDqn+NphGLDZoO
254
+ rjz6BaV40XhwhEGFfM6N8vqRKl6UzvLdsQAV/+5bQuOpwPkuiphSW6Gl/IefwNEX
255
+ r5+zrfwlltZ0gECkbz58EROnzksn01cJrqk8+m9+Fao61FAIWVfETsxtMd+4BXjJ
256
+ u7fyvAXk9W2nIyRFMVwwIwYJKoZIhvcNAQkVMRYEFFT13dyfPjmuLJfYKzBmi2WQ
257
+ BQupMDUGCSqGSIb3DQEJFDEoHiYAcAByAGkAdgBhAHQAZQBzAGkAZwBuAGsAZQB5
258
+ AGEAbABpAGEAczCCCAsGCSqGSIb3DQEHBqCCB/wwggf4AgEAMIIH8QYJKoZIhvcN
259
+ AQcBMCgGCiqGSIb3DQEMAQYwGgQUr8ZphDzuy2hnvEdScJEBoPC8jBICAgQAgIIH
260
+ uKg1VDOoV3ZHBP/ht9UEPU/AoBOtnxluIOEefq0p/ka9hJTb2nphbZTzstTDBuZE
261
+ AEsaXPEBCGRK8LIw+WnIdafC1DQ775yPFoS6q5D25Lh1SGXJkx5X82XVaZC9RKp1
262
+ hp5QyK6miSphM3oQfOIihN6jAT5ulJMGp7CK6520goFWlV89/EPgTVDqCvcEUB3m
263
+ QoDK5+9+qUeq6s3a0QwN3Lr2qdzVYBP2xf15eLSZ7c7t+jbRaVPp12itcyTYnJBY
264
+ Zem1kfnsagCDjk/u9KuG3RR22rUo6TURudxVPIFcgYRgFyHpCHlVcPY2f3ZRP0jl
265
+ WltnNPPAlUzbGErEXROdyOOaa6dSV8uaAL5ZQNrIZ5NFB9iPdC2fwBTARcw4tegs
266
+ y27apimpsjUmN1iFqY8dN50jkodFij/v/pfzmgovJniLXxMkFIN9nwQfVNenevyw
267
+ 27n58VKw+GMVeA970Q/5tzhUANv0SzaXxbIMTkWY6RurHovcjR2GBTeE9uBf726v
268
+ UgFPqtLFLph9UnBSrpPnnEWC4b+XPa9ihOxbV4qsmjxwo3NaK0fMhklCTvEXXmuZ
269
+ tohdK5wjrg1QTQxu/omRX6iZQa3wbYWzirR8Nfj1a3G3MTiNyqJHF1seseatbtrS
270
+ aUBNYlTNMEajJw6tvrDOdKTYiPy7dOHKGung8D+L/0MCJ3ajWrSo+9F+uSn50eH3
271
+ 7XW5CeArR5IV7/G3faqwHKSwf+5Bmt4mAMeBk7IyJ33ZkaXwSw7GOFX7fb1S0xMe
272
+ yVVv67jFD9agNLoreFY3NGdRvO/iLfln6EhIS6aECOBpWVKMkzj1q9zpODyl0LPY
273
+ J3Z/NDytvQRkcjA6V3140Fg6gnGpCJ42R3mtv59SNLZoJDZuyZb2o91wxncX3usj
274
+ nFUceB6MAUlVzrJrPmrbTICBsxlGybvUurZXc+ba0ZkgIR/9Hy3ZR0K4LlZv/cm/
275
+ YoGh7gSbzXmGyDWTNFZYtK0perZtfY5EMOlGRcmyVZ0YswsYVhOhDRaGcMQsicqn
276
+ rgwKXd9X1HVKvqIm9dh6cIygzmJjLjs41TI1CzEoNr39vEMIhAMOgnKdgrS26kap
277
+ 3oIv5ehwFehF4vMqFDiP1kVTG5f/OiCRENb+7nZcYeWnBUqQp0th09pwRBbCH5HK
278
+ 4e32mTDMVrUxAJ0iQhAu4F5+oF4o4t21eq2M8MczrMWvUJRWgMSlEkuXqw8JZYHt
279
+ TwA4kqgXMXOacTuvKodK0+f+mhuI8kZDWbGo9qxMxh5ZCjXgYTYCZZ3FOJiKSJJP
280
+ OCWhKbyo733/bw4i884J5rxe9B/9LSjKXcNsILX9F4Q7VK1MW0HlUqX7DcefS3V6
281
+ ril977iaj8TJ05f4vk08nF/BOtsiWSOyS3qH2RK4BMh+GyU81rscfpIpynYibPvw
282
+ oMcKP12TkQAtD31snSX4oBH5EGViaKqRl0nqFyVDKQUcof5K9Yq70O8M/hIJtjnF
283
+ iKG7Dcr4n+W5XvQ1ETv5hM61q3jjmFDqyGNKnkUTmUH2HqpjjTqZ+NzsPias6Gzf
284
+ nzgZXmLkP/+4znhVeXdTNFwILTnrAw5cuNxx6YYNOn9U2ssqvCb+gvqVIHK1R5JQ
285
+ vF/Yaj5n1YKtG/Por9Cp3bYz5f5BB1RWApydKLLN0u8uUr9w7TwyWRNbH9SOzPrV
286
+ Luw2gvZSsQuGuExa/07sorf34DknIF0HmFvKahBJSFiT8J5qOZyFHwBIH0vjUjis
287
+ qozmSsLqdlFYo3E4qlwBEbqDJ5ddtd/ARWGx7YBFzmZC7cq1rqXbHyzg6upfTzGR
288
+ E1wVr0QObF5JL/2HRp+yrWq7WjoXxDgrZ0EhUkOY0BRMSHqXuudHTl1ay45un+9e
289
+ v3gipNN91eM2HCxxyMHmQ75nOPCm2Gic6lVEfNctDTnfT+1Sr4q8aAm6Vek6Q1yi
290
+ fKnQdGT/OyEHv767ssv5yIL9Yzji9y66Eyqdmz2XMSx1/RvjqR3fSCeUejGZKWEE
291
+ kSgzF0S1Rg2V9gg9eQCl1znTQlfZjsEoT4DOjG//sA0STFZy0XwdBL0pcDPYG9P0
292
+ flQ8iTomDAuTCgYY2AgulM/nOGinbdhl62w4bkqKjAhOowURpGIEdEl5xs4/ow1L
293
+ KqNGkMCVqP2W8XJHQUEaJnFuO0BgIL6WDyFZX9HnirvUBTiJ/RBEw3tgXf/M8FBU
294
+ koCN4Km85A/t+ugUcKybaObf7yvzMkPpn3Eco/olCYiVxaAEm2kYT9ZL0pT5QiPa
295
+ 62Cc01pG/YO/DkMrFQ4Dq9qrUE1KkCxU27ASXU95TKJvyMPT0hG8jLPsSRtc0kZD
296
+ EpVt7zvHRLDAf2Q0GquHs+Ebcwc7Woxti0KUUaZ4KHZaCIp0kyeIIPBt+z1co6ZE
297
+ vTHmY/274Sls6dh9vHQrTr3u4Z/3M/EBJOzp8nI6ljysJtfi5jXgjGrphwTujjoJ
298
+ DvKsH/jhWRz6lPCTkvEo+c+FmuTkLy/o2Fm4ZfecsmkQnmr+yrT8tZOUcjJbbDEY
299
+ x7NsExS+9poGt4xoWrDiO9ogW5SVTD3d6I2LLfgaTbefs4CntFNrofdAEm2Bj3s4
300
+ yy77T4lnao3lnjI7M/8LxgsaZVcqRTg0Nm7qgMowqx0UczCdXevmEZp8bOYTIQZu
301
+ QEVzbYXE+5wmMD0wITAJBgUrDgMCGgUABBTKo1pprvZuEzJhRN353tjbKKbwIgQU
302
+ /dpi1AsbGAl4i48HbJZqQmMx7G8CAgQA</string>
303
+ </void>
304
+ </object>
305
+ </void>
306
+ <void method="put">
307
+ <string>extendedcaservice4</string>
308
+ <object class="java.util.LinkedHashMap">
309
+ <void method="put">
310
+ <string>IMPLCLASS</string>
311
+ <string>org.ejbca.core.model.ca.caadmin.extendedcaservices.HardTokenEncryptCAService</string>
312
+ </void>
313
+ <void method="put">
314
+ <string>extendedcaservicetype</string>
315
+ <int>4</int>
316
+ </void>
317
+ <void method="put">
318
+ <string>version</string>
319
+ <float>1.0</float>
320
+ </void>
321
+ <void method="put">
322
+ <string>status</string>
323
+ <int>2</int>
324
+ </void>
325
+ </object>
326
+ </void>
327
+ <void method="put">
328
+ <string>extendedcaservice5</string>
329
+ <object class="java.util.LinkedHashMap">
330
+ <void method="put">
331
+ <string>IMPLCLASS</string>
332
+ <string>org.ejbca.core.model.ca.caadmin.extendedcaservices.KeyRecoveryCAService</string>
333
+ </void>
334
+ <void method="put">
335
+ <string>extendedcaservicetype</string>
336
+ <int>5</int>
337
+ </void>
338
+ <void method="put">
339
+ <string>version</string>
340
+ <float>1.0</float>
341
+ </void>
342
+ <void method="put">
343
+ <string>status</string>
344
+ <int>2</int>
345
+ </void>
346
+ </object>
347
+ </void>
348
+ <void method="put">
349
+ <string>extendedcaservices</string>
350
+ <object class="java.util.ArrayList">
351
+ <void method="add">
352
+ <int>2</int>
353
+ </void>
354
+ <void method="add">
355
+ <int>3</int>
356
+ </void>
357
+ <void method="add">
358
+ <int>4</int>
359
+ </void>
360
+ <void method="add">
361
+ <int>5</int>
362
+ </void>
363
+ </object>
364
+ </void>
365
+ <void method="put">
366
+ <string>approvalsettings</string>
367
+ <object class="java.util.ArrayList"/>
368
+ </void>
369
+ <void method="put">
370
+ <string>numberofreqapprovals</string>
371
+ <int>1</int>
372
+ </void>
373
+ <void method="put">
374
+ <string>policies</string>
375
+ <object class="java.util.ArrayList"/>
376
+ </void>
377
+ <void method="put">
378
+ <string>subjectaltname</string>
379
+ <string></string>
380
+ </void>
381
+ <void method="put">
382
+ <string>useauthoritykeyidentifier</string>
383
+ <boolean>true</boolean>
384
+ </void>
385
+ <void method="put">
386
+ <string>authoritykeyidentifiercritical</string>
387
+ <boolean>false</boolean>
388
+ </void>
389
+ <void method="put">
390
+ <string>usecrlnumber</string>
391
+ <boolean>true</boolean>
392
+ </void>
393
+ <void method="put">
394
+ <string>crlnumbercritical</string>
395
+ <boolean>false</boolean>
396
+ </void>
397
+ <void method="put">
398
+ <string>defaultcrldistpoint</string>
399
+ <string></string>
400
+ </void>
401
+ <void method="put">
402
+ <string>defaultcrlissuer</string>
403
+ <string></string>
404
+ </void>
405
+ <void method="put">
406
+ <string>cadefinedfreshestcrl</string>
407
+ <string></string>
408
+ </void>
409
+ <void method="put">
410
+ <string>defaultocspservicelocator</string>
411
+ <string></string>
412
+ </void>
413
+ <void method="put">
414
+ <string>useutf8policytext</string>
415
+ <boolean>false</boolean>
416
+ </void>
417
+ <void method="put">
418
+ <string>useprintablestringsubjectdn</string>
419
+ <boolean>false</boolean>
420
+ </void>
421
+ <void method="put">
422
+ <string>useldapdnorder</string>
423
+ <boolean>true</boolean>
424
+ </void>
425
+ <void method="put">
426
+ <string>usecrldistributionpointoncrl</string>
427
+ <boolean>false</boolean>
428
+ </void>
429
+ <void method="put">
430
+ <string>crldistributionpointoncrlcritical</string>
431
+ <boolean>false</boolean>
432
+ </void>
433
+ <void method="put">
434
+ <string>cmpraauthsecret</string>
435
+ <string></string>
436
+ </void>
437
+ <void method="put">
438
+ <string>authorityinformationaccess</string>
439
+ <null/>
440
+ </void>
441
+ <void method="put">
442
+ <string>nameconstraintspermitted</string>
443
+ <null/>
444
+ </void>
445
+ <void method="put">
446
+ <string>nameconstraintsexcluded</string>
447
+ <null/>
448
+ </void>
449
+ <void method="put">
450
+ <string>catype</string>
451
+ <int>1</int>
452
+ </void>
453
+ <void method="put">
454
+ <string>version</string>
455
+ <float>19.0</float>
456
+ </void>
457
+ <void method="put">
458
+ <string>catoken</string>
459
+ <object class="java.util.LinkedHashMap">
460
+ <void method="put">
461
+ <string>version</string>
462
+ <float>8.0</float>
463
+ </void>
464
+ <void method="put">
465
+ <string>cryptotokenid</string>
466
+ <string>-492185152</string>
467
+ </void>
468
+ <void method="put">
469
+ <string>propertydata</string>
470
+ <string>certSignKey=privatesignkeyalias
471
+ defaultKey=privatedeckeyalias
472
+ crlSignKey=privatesignkeyalias
473
+ </string>
474
+ </void>
475
+ <void method="put">
476
+ <string>signaturealgorithm</string>
477
+ <string>SHA256WithRSA</string>
478
+ </void>
479
+ <void method="put">
480
+ <string>encryptionalgorithm</string>
481
+ <string>SHA1WithRSA</string>
482
+ </void>
483
+ </object>
484
+ </void>
485
+ <void method="put">
486
+ <string>certificatechain</string>
487
+ <object class="java.util.ArrayList">
488
+ <void method="add">
489
+ <string>MIIDWzCCAkOgAwIBAgIIM8q/reh6L2QwDQYJKoZIhvcNAQELBQAwOzEVMBMGA1UE
490
+ AwwMTWFuYWdlbWVudENBMRUwEwYDVQQKDAxFSkJDQSBTYW1wbGUxCzAJBgNVBAYT
491
+ AlNFMB4XDTE0MTAyMDIxMzYwNFoXDTI0MTAxNzIxMzYwNFowOzEVMBMGA1UEAwwM
492
+ TWFuYWdlbWVudENBMRUwEwYDVQQKDAxFSkJDQSBTYW1wbGUxCzAJBgNVBAYTAlNF
493
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgWlIWRGePfPPJNUPsT+X
494
+ WdYN/ZP0IvNqODFRf8mGuZ/Pj5tmdCQBEwFKNP+R8VkXvYRXkZDQ4WQkul3MZ7c8
495
+ bxBcUN3K+nzP3JEafWR4E+zWHNSjB0VPDIGNl33zi1zD6c3eAdVwnm9h9eHFoM6V
496
+ b45BR6E9wrp/YnkDVq9bBBL6CzXlkLYw6VSPOzs22KScTl2hGB4NRdfoermyx8JV
497
+ o1NreK9SlKINit+/M7hBTQ5p3hYOL2SulVkgw0/38Qc0sS7Emps8Ejr38BgPNQji
498
+ jkuXwpfRujROrVGExhBVdLNvZpERxpr03PzvhiX73nlzoCLw+uC4sm8uS/NdR6dF
499
+ dQIDAQABo2MwYTAdBgNVHQ4EFgQUPW27M+6uIGgi3cf1zgBipX/FI8swDwYDVR0T
500
+ AQH/BAUwAwEB/zAfBgNVHSMEGDAWgBQ9bbsz7q4gaCLdx/XOAGKlf8UjyzAOBgNV
501
+ HQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggEBAF/ezoK6KPtNWEcXwWxAgZoc
502
+ f1ZrE6rM+TZ20jFKHVlQu1u4rluAxnxORLJwKaZNVbO1FYf2Jh3ksfgVoB7K2i15
503
+ RPcqJovMiZZ8koWJuMv2UJDVCwRPP1xXupmUc4lDv32TNIK3LorvhgoJs+yMQSdz
504
+ jva6a6MGLHF2T6kFiQeMVobGM6GF5WJIWGA6oPbwwaBjHk7+3jY38wUNMre/7um3
505
+ B7TYeIrgMTT01SNXY0cC+cWAqHot6NWZQtKOGwu8TlqTjkZd7E0sq3a6QWBb5/22
506
+ 0xDd5B09RzzLbIhKS/PKsdVR/UQNdYOhQ/H3kBRCJeMENNRi2iuUtw2SAyRBwHY=</string>
507
+ </void>
508
+ </object>
509
+ </void>
510
+ </object>
511
+ </java>