redcar 0.3.2dev → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (485) hide show
  1. data/CHANGES +49 -2
  2. data/README.md +2 -7
  3. data/ROADMAP.md +8 -9
  4. data/Rakefile +29 -44
  5. data/bin/redcar +11 -2
  6. data/lib/openssl/History.txt +75 -0
  7. data/lib/openssl/License.txt +30 -0
  8. data/lib/openssl/Manifest.txt +99 -0
  9. data/lib/openssl/README.txt +24 -0
  10. data/lib/openssl/Rakefile +71 -0
  11. data/lib/openssl/build.properties.SAMPLE +7 -0
  12. data/lib/openssl/build.xml +57 -0
  13. data/lib/openssl/lib/jopenssl/version.rb +5 -0
  14. data/lib/openssl/lib/openssl.rb +24 -0
  15. data/lib/openssl/lib/openssl/bn.rb +33 -0
  16. data/lib/openssl/lib/openssl/buffering.rb +239 -0
  17. data/lib/openssl/lib/openssl/cipher.rb +56 -0
  18. data/lib/openssl/lib/openssl/digest.rb +46 -0
  19. data/lib/openssl/lib/openssl/dummy.rb +34 -0
  20. data/lib/openssl/lib/openssl/dummyssl.rb +13 -0
  21. data/lib/openssl/lib/openssl/ssl.rb +135 -0
  22. data/lib/openssl/lib/openssl/x509.rb +154 -0
  23. data/lib/openssl/mocha/COPYING +3 -0
  24. data/lib/openssl/mocha/MIT-LICENSE +7 -0
  25. data/lib/openssl/mocha/README +35 -0
  26. data/lib/openssl/mocha/RELEASE +171 -0
  27. data/lib/openssl/mocha/Rakefile +147 -0
  28. data/lib/openssl/mocha/TODO +48 -0
  29. data/lib/openssl/mocha/examples/misc.rb +36 -0
  30. data/lib/openssl/mocha/examples/mocha.rb +26 -0
  31. data/lib/openssl/mocha/examples/stubba.rb +65 -0
  32. data/lib/openssl/mocha/init.rb +3 -0
  33. data/lib/openssl/mocha/lib/mocha.rb +19 -0
  34. data/lib/openssl/mocha/lib/mocha/any_instance_method.rb +35 -0
  35. data/lib/openssl/mocha/lib/mocha/auto_verify.rb +111 -0
  36. data/lib/openssl/mocha/lib/mocha/central.rb +35 -0
  37. data/lib/openssl/mocha/lib/mocha/class_method.rb +62 -0
  38. data/lib/openssl/mocha/lib/mocha/deprecation.rb +22 -0
  39. data/lib/openssl/mocha/lib/mocha/exception_raiser.rb +17 -0
  40. data/lib/openssl/mocha/lib/mocha/expectation.rb +382 -0
  41. data/lib/openssl/mocha/lib/mocha/expectation_error.rb +6 -0
  42. data/lib/openssl/mocha/lib/mocha/expectation_list.rb +45 -0
  43. data/lib/openssl/mocha/lib/mocha/infinite_range.rb +25 -0
  44. data/lib/openssl/mocha/lib/mocha/inspect.rb +39 -0
  45. data/lib/openssl/mocha/lib/mocha/instance_method.rb +8 -0
  46. data/lib/openssl/mocha/lib/mocha/is_a.rb +9 -0
  47. data/lib/openssl/mocha/lib/mocha/metaclass.rb +7 -0
  48. data/lib/openssl/mocha/lib/mocha/missing_expectation.rb +27 -0
  49. data/lib/openssl/mocha/lib/mocha/mock.rb +200 -0
  50. data/lib/openssl/mocha/lib/mocha/multiple_yields.rb +20 -0
  51. data/lib/openssl/mocha/lib/mocha/no_yields.rb +11 -0
  52. data/lib/openssl/mocha/lib/mocha/object.rb +110 -0
  53. data/lib/openssl/mocha/lib/mocha/parameter_matchers.rb +9 -0
  54. data/lib/openssl/mocha/lib/mocha/parameter_matchers/all_of.rb +39 -0
  55. data/lib/openssl/mocha/lib/mocha/parameter_matchers/any_of.rb +44 -0
  56. data/lib/openssl/mocha/lib/mocha/parameter_matchers/anything.rb +30 -0
  57. data/lib/openssl/mocha/lib/mocha/parameter_matchers/has_entry.rb +39 -0
  58. data/lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb +39 -0
  59. data/lib/openssl/mocha/lib/mocha/parameter_matchers/has_value.rb +39 -0
  60. data/lib/openssl/mocha/lib/mocha/parameter_matchers/includes.rb +37 -0
  61. data/lib/openssl/mocha/lib/mocha/parameter_matchers/instance_of.rb +39 -0
  62. data/lib/openssl/mocha/lib/mocha/parameter_matchers/kind_of.rb +39 -0
  63. data/lib/openssl/mocha/lib/mocha/pretty_parameters.rb +28 -0
  64. data/lib/openssl/mocha/lib/mocha/return_values.rb +31 -0
  65. data/lib/openssl/mocha/lib/mocha/setup_and_teardown.rb +23 -0
  66. data/lib/openssl/mocha/lib/mocha/single_return_value.rb +24 -0
  67. data/lib/openssl/mocha/lib/mocha/single_yield.rb +18 -0
  68. data/lib/openssl/mocha/lib/mocha/standalone.rb +32 -0
  69. data/lib/openssl/mocha/lib/mocha/stub.rb +18 -0
  70. data/lib/openssl/mocha/lib/mocha/test_case_adapter.rb +49 -0
  71. data/lib/openssl/mocha/lib/mocha/yield_parameters.rb +31 -0
  72. data/lib/openssl/mocha/lib/mocha_standalone.rb +2 -0
  73. data/lib/openssl/mocha/lib/stubba.rb +2 -0
  74. data/lib/openssl/mocha/templates/html_with_google_analytics.rb +742 -0
  75. data/lib/openssl/mocha/test/acceptance/expected_invocation_count_acceptance_test.rb +187 -0
  76. data/lib/openssl/mocha/test/acceptance/mocha_acceptance_test.rb +98 -0
  77. data/lib/openssl/mocha/test/acceptance/mocked_methods_dispatch_acceptance_test.rb +71 -0
  78. data/lib/openssl/mocha/test/acceptance/parameter_matcher_acceptance_test.rb +63 -0
  79. data/lib/openssl/mocha/test/acceptance/standalone_acceptance_test.rb +131 -0
  80. data/lib/openssl/mocha/test/acceptance/stubba_acceptance_test.rb +102 -0
  81. data/lib/openssl/mocha/test/active_record_test_case.rb +36 -0
  82. data/lib/openssl/mocha/test/deprecation_disabler.rb +15 -0
  83. data/lib/openssl/mocha/test/execution_point.rb +34 -0
  84. data/lib/openssl/mocha/test/integration/mocha_test_result_integration_test.rb +105 -0
  85. data/lib/openssl/mocha/test/integration/stubba_integration_test.rb +89 -0
  86. data/lib/openssl/mocha/test/integration/stubba_test_result_integration_test.rb +85 -0
  87. data/lib/openssl/mocha/test/method_definer.rb +18 -0
  88. data/lib/openssl/mocha/test/test_helper.rb +12 -0
  89. data/lib/openssl/mocha/test/test_runner.rb +31 -0
  90. data/lib/openssl/mocha/test/unit/any_instance_method_test.rb +124 -0
  91. data/lib/openssl/mocha/test/unit/array_inspect_test.rb +16 -0
  92. data/lib/openssl/mocha/test/unit/auto_verify_test.rb +122 -0
  93. data/lib/openssl/mocha/test/unit/central_test.rb +124 -0
  94. data/lib/openssl/mocha/test/unit/class_method_test.rb +196 -0
  95. data/lib/openssl/mocha/test/unit/date_time_inspect_test.rb +21 -0
  96. data/lib/openssl/mocha/test/unit/expectation_list_test.rb +69 -0
  97. data/lib/openssl/mocha/test/unit/expectation_raiser_test.rb +28 -0
  98. data/lib/openssl/mocha/test/unit/expectation_test.rb +399 -0
  99. data/lib/openssl/mocha/test/unit/hash_inspect_test.rb +16 -0
  100. data/lib/openssl/mocha/test/unit/infinite_range_test.rb +53 -0
  101. data/lib/openssl/mocha/test/unit/metaclass_test.rb +22 -0
  102. data/lib/openssl/mocha/test/unit/missing_expectation_test.rb +45 -0
  103. data/lib/openssl/mocha/test/unit/mock_test.rb +316 -0
  104. data/lib/openssl/mocha/test/unit/multiple_yields_test.rb +18 -0
  105. data/lib/openssl/mocha/test/unit/no_yield_test.rb +18 -0
  106. data/lib/openssl/mocha/test/unit/object_inspect_test.rb +35 -0
  107. data/lib/openssl/mocha/test/unit/object_test.rb +165 -0
  108. data/lib/openssl/mocha/test/unit/parameter_matchers/all_of_test.rb +26 -0
  109. data/lib/openssl/mocha/test/unit/parameter_matchers/any_of_test.rb +26 -0
  110. data/lib/openssl/mocha/test/unit/parameter_matchers/anything_test.rb +21 -0
  111. data/lib/openssl/mocha/test/unit/parameter_matchers/has_entry_test.rb +25 -0
  112. data/lib/openssl/mocha/test/unit/parameter_matchers/has_key_test.rb +25 -0
  113. data/lib/openssl/mocha/test/unit/parameter_matchers/has_value_test.rb +25 -0
  114. data/lib/openssl/mocha/test/unit/parameter_matchers/includes_test.rb +25 -0
  115. data/lib/openssl/mocha/test/unit/parameter_matchers/instance_of_test.rb +25 -0
  116. data/lib/openssl/mocha/test/unit/parameter_matchers/kind_of_test.rb +25 -0
  117. data/lib/openssl/mocha/test/unit/parameter_matchers/stub_matcher.rb +22 -0
  118. data/lib/openssl/mocha/test/unit/pretty_parameters_test.rb +32 -0
  119. data/lib/openssl/mocha/test/unit/return_values_test.rb +63 -0
  120. data/lib/openssl/mocha/test/unit/setup_and_teardown_test.rb +76 -0
  121. data/lib/openssl/mocha/test/unit/single_return_value_test.rb +33 -0
  122. data/lib/openssl/mocha/test/unit/single_yield_test.rb +18 -0
  123. data/lib/openssl/mocha/test/unit/string_inspect_test.rb +11 -0
  124. data/lib/openssl/mocha/test/unit/stub_test.rb +24 -0
  125. data/lib/openssl/mocha/test/unit/yield_parameters_test.rb +93 -0
  126. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/FOLDERS +53 -0
  127. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/LICENSE +340 -0
  128. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/README +117 -0
  129. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/bin/coderay +77 -0
  130. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/bin/coderay_stylesheet +4 -0
  131. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay.rb +319 -0
  132. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/duo.rb +29 -0
  133. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoder.rb +173 -0
  134. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/_map.rb +8 -0
  135. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/count.rb +21 -0
  136. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/debug.rb +46 -0
  137. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/div.rb +20 -0
  138. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/html.rb +260 -0
  139. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/html/classes.rb +77 -0
  140. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/html/css.rb +65 -0
  141. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/html/numerization.rb +122 -0
  142. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/html/output.rb +195 -0
  143. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/null.rb +26 -0
  144. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/page.rb +21 -0
  145. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/span.rb +20 -0
  146. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/statistic.rb +81 -0
  147. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/text.rb +33 -0
  148. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/tokens.rb +44 -0
  149. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/xml.rb +71 -0
  150. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/encoders/yaml.rb +22 -0
  151. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/helpers/file_type.rb +182 -0
  152. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/helpers/gzip_simple.rb +122 -0
  153. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/helpers/plugin.rb +326 -0
  154. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/helpers/word_list.rb +119 -0
  155. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanner.rb +238 -0
  156. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/_map.rb +15 -0
  157. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/c.rb +163 -0
  158. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb +60 -0
  159. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/delphi.rb +149 -0
  160. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/html.rb +177 -0
  161. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/nitro_xhtml.rb +133 -0
  162. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/plaintext.rb +16 -0
  163. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/rhtml.rb +73 -0
  164. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/ruby.rb +367 -0
  165. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/ruby/patterns.rb +230 -0
  166. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/xml.rb +18 -0
  167. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/style.rb +20 -0
  168. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/styles/_map.rb +7 -0
  169. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/styles/cycnus.rb +125 -0
  170. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/styles/murphy.rb +119 -0
  171. data/lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/tokens.rb +368 -0
  172. data/lib/openssl/mocha/vendor/meta_project-0.4.15/CHANGES +295 -0
  173. data/lib/openssl/mocha/vendor/meta_project-0.4.15/MIT-LICENSE +21 -0
  174. data/lib/openssl/mocha/vendor/meta_project-0.4.15/README +129 -0
  175. data/lib/openssl/mocha/vendor/meta_project-0.4.15/Rakefile +152 -0
  176. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project.rb +19 -0
  177. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/open_uri.rb +22 -0
  178. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/pathname.rb +36 -0
  179. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/core_ext/string.rb +5 -0
  180. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/http/multipart.rb +32 -0
  181. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/patois.rb +1 -0
  182. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/patois/parser.rb +99 -0
  183. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/project.rb +4 -0
  184. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/project/base.rb +9 -0
  185. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/project/codehaus.rb +1 -0
  186. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/project/codehaus/codehaus_project_svn.rb +31 -0
  187. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/project/trac.rb +1 -0
  188. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/project/trac/trac_project.rb +54 -0
  189. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/project/xforge.rb +5 -0
  190. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/project/xforge/ruby_forge.rb +47 -0
  191. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/project/xforge/session.rb +177 -0
  192. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/project/xforge/source_forge.rb +50 -0
  193. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/project/xforge/xfile.rb +45 -0
  194. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/project/xforge/xforge_base.rb +85 -0
  195. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/project_analyzer.rb +36 -0
  196. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/release/freshmeat.rb +267 -0
  197. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/release/raa.rb +572 -0
  198. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/scm_web.rb +2 -0
  199. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/scm_web/browser.rb +112 -0
  200. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/scm_web/pathname.rb +89 -0
  201. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker.rb +6 -0
  202. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/base.rb +24 -0
  203. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/digit_issues.rb +34 -0
  204. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/issue.rb +57 -0
  205. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/jira.rb +2 -0
  206. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/jira/jira_issues.rb +35 -0
  207. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/jira/jira_tracker.rb +149 -0
  208. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/trac.rb +1 -0
  209. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/trac/trac_tracker.rb +33 -0
  210. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/xforge.rb +3 -0
  211. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/xforge/ruby_forge_tracker.rb +17 -0
  212. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/xforge/source_forge_tracker.rb +17 -0
  213. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/tracker/xforge/xforge_tracker.rb +191 -0
  214. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/meta_project/version_parser.rb +52 -0
  215. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/rake/contrib/xforge.rb +3 -0
  216. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/rake/contrib/xforge/base.rb +64 -0
  217. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/rake/contrib/xforge/news_publisher.rb +97 -0
  218. data/lib/openssl/mocha/vendor/meta_project-0.4.15/lib/rake/contrib/xforge/release.rb +134 -0
  219. data/lib/openssl/nbproject/genfiles.properties +5 -0
  220. data/lib/openssl/nbproject/jdk.xml +157 -0
  221. data/lib/openssl/nbproject/nbjdk.properties +1 -0
  222. data/lib/openssl/nbproject/nbjdk.xml +16 -0
  223. data/lib/openssl/nbproject/project.xml +117 -0
  224. data/lib/openssl/src/java/JopensslService.java +41 -0
  225. data/lib/openssl/src/java/org/jruby/ext/openssl/ASN1.java +930 -0
  226. data/lib/openssl/src/java/org/jruby/ext/openssl/Attribute.java +132 -0
  227. data/lib/openssl/src/java/org/jruby/ext/openssl/BN.java +769 -0
  228. data/lib/openssl/src/java/org/jruby/ext/openssl/BouncyCastlePEMHandler.java +69 -0
  229. data/lib/openssl/src/java/org/jruby/ext/openssl/Callable.java +10 -0
  230. data/lib/openssl/src/java/org/jruby/ext/openssl/Cipher.java +661 -0
  231. data/lib/openssl/src/java/org/jruby/ext/openssl/CipherStrings.java +1827 -0
  232. data/lib/openssl/src/java/org/jruby/ext/openssl/Config.java +49 -0
  233. data/lib/openssl/src/java/org/jruby/ext/openssl/DefaultPEMHandler.java +44 -0
  234. data/lib/openssl/src/java/org/jruby/ext/openssl/Digest.java +207 -0
  235. data/lib/openssl/src/java/org/jruby/ext/openssl/HMAC.java +183 -0
  236. data/lib/openssl/src/java/org/jruby/ext/openssl/NetscapeSPKI.java +212 -0
  237. data/lib/openssl/src/java/org/jruby/ext/openssl/OpenSSLImpl.java +341 -0
  238. data/lib/openssl/src/java/org/jruby/ext/openssl/OpenSSLReal.java +113 -0
  239. data/lib/openssl/src/java/org/jruby/ext/openssl/PEMHandler.java +40 -0
  240. data/lib/openssl/src/java/org/jruby/ext/openssl/PKCS10CertificationRequestExt.java +159 -0
  241. data/lib/openssl/src/java/org/jruby/ext/openssl/PKCS7.java +642 -0
  242. data/lib/openssl/src/java/org/jruby/ext/openssl/PKey.java +154 -0
  243. data/lib/openssl/src/java/org/jruby/ext/openssl/PKeyDH.java +401 -0
  244. data/lib/openssl/src/java/org/jruby/ext/openssl/PKeyDSA.java +419 -0
  245. data/lib/openssl/src/java/org/jruby/ext/openssl/PKeyRSA.java +762 -0
  246. data/lib/openssl/src/java/org/jruby/ext/openssl/Random.java +103 -0
  247. data/lib/openssl/src/java/org/jruby/ext/openssl/Request.java +336 -0
  248. data/lib/openssl/src/java/org/jruby/ext/openssl/SSL.java +71 -0
  249. data/lib/openssl/src/java/org/jruby/ext/openssl/SSLContext.java +358 -0
  250. data/lib/openssl/src/java/org/jruby/ext/openssl/SSLSocket.java +561 -0
  251. data/lib/openssl/src/java/org/jruby/ext/openssl/SimpleSecretKey.java +53 -0
  252. data/lib/openssl/src/java/org/jruby/ext/openssl/Utils.java +60 -0
  253. data/lib/openssl/src/java/org/jruby/ext/openssl/X509.java +108 -0
  254. data/lib/openssl/src/java/org/jruby/ext/openssl/X509CRL.java +446 -0
  255. data/lib/openssl/src/java/org/jruby/ext/openssl/X509Cert.java +520 -0
  256. data/lib/openssl/src/java/org/jruby/ext/openssl/X509Extensions.java +751 -0
  257. data/lib/openssl/src/java/org/jruby/ext/openssl/X509Name.java +405 -0
  258. data/lib/openssl/src/java/org/jruby/ext/openssl/X509Revoked.java +111 -0
  259. data/lib/openssl/src/java/org/jruby/ext/openssl/X509Store.java +282 -0
  260. data/lib/openssl/src/java/org/jruby/ext/openssl/X509StoreCtx.java +206 -0
  261. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/ASN1Registry.java +5135 -0
  262. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/Attribute.java +79 -0
  263. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/BIO.java +345 -0
  264. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/BIOFilter.java +38 -0
  265. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/Base64BIOFilter.java +84 -0
  266. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/CipherBIOFilter.java +157 -0
  267. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/Digest.java +126 -0
  268. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/EVP.java +136 -0
  269. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/EncContent.java +178 -0
  270. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/Encrypt.java +77 -0
  271. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/Envelope.java +169 -0
  272. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/IssuerAndSerial.java +35 -0
  273. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/MemBIO.java +117 -0
  274. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/MessageDigestBIOFilter.java +76 -0
  275. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/Mime.java +245 -0
  276. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/MimeHeader.java +103 -0
  277. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/MimeParam.java +69 -0
  278. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/NotVerifiedPKCS7Exception.java +38 -0
  279. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/NullSinkBIO.java +52 -0
  280. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/PKCS7.java +1276 -0
  281. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/PKCS7Data.java +168 -0
  282. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataData.java +88 -0
  283. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataDigest.java +64 -0
  284. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataEncrypted.java +61 -0
  285. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataEnveloped.java +85 -0
  286. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataSigned.java +127 -0
  287. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataSignedAndEnveloped.java +91 -0
  288. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/PKCS7Exception.java +68 -0
  289. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/RecipInfo.java +244 -0
  290. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/SMIME.java +281 -0
  291. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/SignEnvelope.java +202 -0
  292. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/Signed.java +345 -0
  293. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/SignerInfoWithPkey.java +365 -0
  294. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/TypeDiscriminating.java +34 -0
  295. data/lib/openssl/src/java/org/jruby/ext/openssl/impl/utils/Base64.java +1809 -0
  296. data/lib/openssl/src/java/org/jruby/ext/openssl/util/Base64Coder.java +103 -0
  297. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/CRL.java +59 -0
  298. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/Certificate.java +57 -0
  299. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/CertificateFile.java +46 -0
  300. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/CertificateHashDir.java +46 -0
  301. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/Function0.java +43 -0
  302. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/Function1.java +43 -0
  303. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/Function2.java +43 -0
  304. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/Function3.java +43 -0
  305. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/Function4.java +43 -0
  306. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/Function5.java +43 -0
  307. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/Lookup.java +560 -0
  308. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/LookupMethod.java +84 -0
  309. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/Name.java +85 -0
  310. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/PEMInputOutput.java +1210 -0
  311. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/PKey.java +41 -0
  312. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/PolicyTree.java +36 -0
  313. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/Purpose.java +475 -0
  314. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/Store.java +377 -0
  315. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/StoreContext.java +1356 -0
  316. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/Trust.java +279 -0
  317. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/VerifyParameter.java +324 -0
  318. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/X509Aux.java +43 -0
  319. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/X509AuxCertificate.java +170 -0
  320. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/X509Error.java +70 -0
  321. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/X509Object.java +88 -0
  322. data/lib/openssl/src/java/org/jruby/ext/openssl/x509store/X509Utils.java +541 -0
  323. data/lib/openssl/test/cert_with_ec_pk.cer +27 -0
  324. data/lib/openssl/test/fixture/ca_path/72fa7371.0 +19 -0
  325. data/lib/openssl/test/fixture/ca_path/verisign.pem +19 -0
  326. data/lib/openssl/test/fixture/cacert.pem +23 -0
  327. data/lib/openssl/test/fixture/cert_localhost.pem +19 -0
  328. data/lib/openssl/test/fixture/common.pem +48 -0
  329. data/lib/openssl/test/fixture/localhost_keypair.pem +18 -0
  330. data/lib/openssl/test/fixture/max.pem +29 -0
  331. data/lib/openssl/test/fixture/purpose/b70a5bc1.0 +24 -0
  332. data/lib/openssl/test/fixture/purpose/ca/PASSWD_OF_CA_KEY_IS_1234 +0 -0
  333. data/lib/openssl/test/fixture/purpose/ca/ca_config.rb +37 -0
  334. data/lib/openssl/test/fixture/purpose/ca/cacert.pem +24 -0
  335. data/lib/openssl/test/fixture/purpose/ca/newcerts/2_cert.pem +19 -0
  336. data/lib/openssl/test/fixture/purpose/ca/newcerts/3_cert.pem +19 -0
  337. data/lib/openssl/test/fixture/purpose/ca/private/cakeypair.pem +30 -0
  338. data/lib/openssl/test/fixture/purpose/ca/serial +1 -0
  339. data/lib/openssl/test/fixture/purpose/cacert.pem +24 -0
  340. data/lib/openssl/test/fixture/purpose/scripts/gen_cert.rb +127 -0
  341. data/lib/openssl/test/fixture/purpose/scripts/gen_csr.rb +50 -0
  342. data/lib/openssl/test/fixture/purpose/scripts/init_ca.rb +66 -0
  343. data/lib/openssl/test/fixture/purpose/sslclient.pem +19 -0
  344. data/lib/openssl/test/fixture/purpose/sslclient/csr.pem +10 -0
  345. data/lib/openssl/test/fixture/purpose/sslclient/keypair.pem +15 -0
  346. data/lib/openssl/test/fixture/purpose/sslclient/sslclient.pem +19 -0
  347. data/lib/openssl/test/fixture/purpose/sslserver.pem +19 -0
  348. data/lib/openssl/test/fixture/purpose/sslserver/csr.pem +10 -0
  349. data/lib/openssl/test/fixture/purpose/sslserver/keypair.pem +15 -0
  350. data/lib/openssl/test/fixture/purpose/sslserver/sslserver.pem +19 -0
  351. data/lib/openssl/test/fixture/verisign.pem +19 -0
  352. data/lib/openssl/test/fixture/verisign_c3.pem +14 -0
  353. data/lib/openssl/test/openssl/ssl_server.rb +99 -0
  354. data/lib/openssl/test/openssl/test_asn1.rb +199 -0
  355. data/lib/openssl/test/openssl/test_cipher.rb +196 -0
  356. data/lib/openssl/test/openssl/test_digest.rb +88 -0
  357. data/lib/openssl/test/openssl/test_hmac.rb +44 -0
  358. data/lib/openssl/test/openssl/test_ns_spki.rb +69 -0
  359. data/lib/openssl/test/openssl/test_pair.rb +149 -0
  360. data/lib/openssl/test/openssl/test_pkcs7.rb +160 -0
  361. data/lib/openssl/test/openssl/test_pkey_rsa.rb +49 -0
  362. data/lib/openssl/test/openssl/test_ssl.rb +413 -0
  363. data/lib/openssl/test/openssl/test_x509cert.rb +236 -0
  364. data/lib/openssl/test/openssl/test_x509crl.rb +234 -0
  365. data/lib/openssl/test/openssl/test_x509ext.rb +95 -0
  366. data/lib/openssl/test/openssl/test_x509name.rb +281 -0
  367. data/lib/openssl/test/openssl/test_x509req.rb +178 -0
  368. data/lib/openssl/test/openssl/test_x509store.rb +245 -0
  369. data/lib/openssl/test/openssl/utils.rb +135 -0
  370. data/lib/openssl/test/pkcs7_mime_enveloped.message +19 -0
  371. data/lib/openssl/test/pkcs7_mime_signed.message +30 -0
  372. data/lib/openssl/test/pkcs7_multipart_signed.message +45 -0
  373. data/lib/openssl/test/ref/compile.rb +8 -0
  374. data/lib/openssl/test/ref/pkcs1 +0 -0
  375. data/lib/openssl/test/ref/pkcs1.c +21 -0
  376. data/lib/openssl/test/test_cipher.rb +95 -0
  377. data/lib/openssl/test/test_integration.rb +139 -0
  378. data/lib/openssl/test/test_java.rb +98 -0
  379. data/lib/openssl/test/test_java_attribute.rb +25 -0
  380. data/lib/openssl/test/test_java_bio.rb +42 -0
  381. data/lib/openssl/test/test_java_mime.rb +173 -0
  382. data/lib/openssl/test/test_java_pkcs7.rb +769 -0
  383. data/lib/openssl/test/test_java_smime.rb +177 -0
  384. data/lib/openssl/test/test_openssl.rb +34 -0
  385. data/lib/openssl/test/test_openssl_x509.rb +34 -0
  386. data/lib/openssl/test/test_parse_certificate.rb +20 -0
  387. data/lib/openssl/test/test_pkey.rb +46 -0
  388. data/lib/openssl/test/test_x509store.rb +155 -0
  389. data/lib/openssl/test/ut_eof.rb +128 -0
  390. data/lib/redcar.rb +134 -8
  391. data/lib/redcar/installer.rb +46 -11
  392. data/lib/redcar/runner.rb +2 -1
  393. data/lib/redcar/usage.rb +12 -5
  394. data/lib/redcar_quick_start.rb +37 -0
  395. data/plugins/application/features/support/env.rb +9 -1
  396. data/plugins/application/icons/redcar_icon_beta.png +0 -0
  397. data/plugins/application/lib/application.rb +113 -43
  398. data/plugins/application/lib/application/clipboard.rb +28 -4
  399. data/plugins/application/lib/application/command.rb +4 -12
  400. data/plugins/application/lib/application/command/executor.rb +2 -2
  401. data/plugins/application/lib/application/keymap.rb +39 -0
  402. data/plugins/application/lib/application/keymap/builder.rb +19 -0
  403. data/plugins/application/lib/application/speedbar.rb +33 -24
  404. data/plugins/application/lib/application/tab.rb +15 -0
  405. data/plugins/application/lib/application/window.rb +28 -5
  406. data/plugins/application/spec/application/clipboard_spec.rb +20 -1
  407. data/plugins/application/spec/application/command/executor_spec.rb +7 -2
  408. data/plugins/application/spec/application/command_spec.rb +0 -5
  409. data/plugins/application/spec/application/keymap/builder_spec.rb +17 -0
  410. data/plugins/application/spec/application/menu_spec.rb +30 -0
  411. data/plugins/application/spec/application/speedbar_spec.rb +30 -6
  412. data/plugins/application/spec/application/window_spec.rb +2 -2
  413. data/plugins/application/spec/spec_helper.rb +1 -1
  414. data/plugins/application_swt/lib/application_swt.rb +3 -0
  415. data/plugins/application_swt/lib/application_swt/dialogs/filter_list_dialog_controller.rb +10 -1
  416. data/plugins/application_swt/lib/application_swt/html_tab.rb +1 -0
  417. data/plugins/application_swt/lib/application_swt/menu.rb +4 -3
  418. data/plugins/application_swt/lib/application_swt/menu/binding_translator.rb +12 -4
  419. data/plugins/application_swt/lib/application_swt/speedbar.rb +105 -19
  420. data/plugins/application_swt/lib/application_swt/swt_wrapper.rb +2 -0
  421. data/plugins/application_swt/lib/application_swt/window.rb +55 -23
  422. data/plugins/application_swt/spec/spec_helper.rb +0 -1
  423. data/plugins/auto_completer/lib/auto_completer.rb +57 -3
  424. data/plugins/auto_indenter/lib/auto_indenter.rb +1 -1
  425. data/plugins/core/lib/core.rb +5 -3
  426. data/plugins/core/lib/core/interface.rb +73 -0
  427. data/plugins/core/lib/core/model.rb +2 -0
  428. data/plugins/core/lib/core/observable.rb +12 -1
  429. data/plugins/core/lib/core/observable_struct.rb +34 -0
  430. data/plugins/core/lib/core/plugin/storage.rb +16 -3
  431. data/plugins/core/lib/core/reentry_helpers.rb +13 -0
  432. data/plugins/core/spec/core/observable_spec.rb +13 -0
  433. data/plugins/core/spec/core/storage_spec.rb +18 -0
  434. data/plugins/core/spec/spec_helper.rb +1 -0
  435. data/plugins/edit_view/features/cut_and_paste.feature +4 -2
  436. data/plugins/edit_view/features/soft_tabs.feature +243 -0
  437. data/plugins/edit_view/features/step_definitions/editing_steps.rb +91 -2
  438. data/plugins/edit_view/features/step_definitions/tab_steps.rb +1 -1
  439. data/plugins/edit_view/features/tabs.feature +146 -0
  440. data/plugins/edit_view/lib/edit_view.rb +197 -8
  441. data/plugins/edit_view/lib/edit_view/actions/arrow_keys.rb +121 -0
  442. data/plugins/edit_view/lib/edit_view/actions/deletion.rb +30 -0
  443. data/plugins/edit_view/lib/edit_view/actions/tab.rb +66 -0
  444. data/plugins/edit_view/lib/edit_view/command.rb +0 -2
  445. data/plugins/edit_view/lib/edit_view/document.rb +62 -27
  446. data/plugins/edit_view/lib/edit_view/document/command.rb +11 -0
  447. data/plugins/edit_view/lib/edit_view/edit_tab.rb +2 -1
  448. data/plugins/edit_view/lib/edit_view/info_speedbar.rb +69 -0
  449. data/plugins/edit_view/lib/edit_view/tab_settings.rb +40 -0
  450. data/plugins/edit_view/spec/edit_view/document_spec.rb +26 -0
  451. data/plugins/edit_view/spec/spec_helper.rb +0 -1
  452. data/plugins/edit_view_swt/lib/edit_view_swt.rb +57 -69
  453. data/plugins/edit_view_swt/lib/edit_view_swt/document.rb +24 -3
  454. data/plugins/edit_view_swt/lib/edit_view_swt/edit_tab.rb +23 -6
  455. data/plugins/edit_view_swt/spec/spec_helper.rb +0 -1
  456. data/plugins/edit_view_swt/vendor/java-mateview.rb +19 -2
  457. data/plugins/encryption/encryption.rb +38 -0
  458. data/plugins/encryption/ezcrypto.rb +652 -0
  459. data/plugins/encryption/jarmor-1.1.jar +0 -0
  460. data/plugins/encryption/plugin.rb +9 -0
  461. data/plugins/execute_current_tab/lib/execute_current_tab.rb +56 -0
  462. data/plugins/execute_current_tab/plugin.rb +8 -0
  463. data/plugins/html_view/lib/html_view.rb +16 -11
  464. data/plugins/plugin_manager_ui/lib/plugin_manager_ui.rb +2 -1
  465. data/plugins/plugin_manager_ui/views/index.html.erb +22 -4
  466. data/plugins/project/lib/project.rb +140 -26
  467. data/plugins/project/lib/project/drb_service.rb +75 -0
  468. data/plugins/project/lib/project/file_mirror.rb +5 -5
  469. data/plugins/project/lib/project/find_file_dialog.rb +123 -32
  470. data/plugins/project/spec/project/file_mirror_spec.rb +10 -1
  471. data/plugins/project/spec/spec_helper.rb +0 -1
  472. data/plugins/redcar/plugin.rb +1 -1
  473. data/plugins/redcar/redcar.rb +204 -109
  474. data/plugins/redcar/spec/redcar/redcar_spec.rb +70 -0
  475. data/plugins/redcar/spec/spec_helper.rb +4 -0
  476. data/plugins/repl/lib/repl.rb +14 -7
  477. data/plugins/repl/lib/repl/internal_mirror.rb +43 -22
  478. data/plugins/repl/spec/repl/internal_mirror_spec.rb +34 -7
  479. data/plugins/repl/spec/spec_helper.rb +0 -1
  480. data/plugins/tree/spec/spec_helper.rb +0 -1
  481. data/plugins/tree_view_swt/lib/tree_view_swt.rb +1 -1
  482. data/textmate/Bundles/RedcarRepl.tmbundle/Syntaxes/InternalRuby.plist +2 -18
  483. data/textmate/Bundles/asciidoc.tmbundle/Syntaxes/AsciiDoc.tmLanguage +428 -0
  484. metadata +790 -371
  485. data/lib/redcar/boot.rb +0 -108
@@ -0,0 +1,769 @@
1
+ module PKCS7Test
2
+ class TestJavaPKCS7 < Test::Unit::TestCase
3
+ def test_is_signed
4
+ p7 = PKCS7.new
5
+ p7.type = ASN1Registry::NID_pkcs7_signed
6
+ assert p7.signed?
7
+ assert !p7.encrypted?
8
+ assert !p7.enveloped?
9
+ assert !p7.signed_and_enveloped?
10
+ assert !p7.data?
11
+ assert !p7.digest?
12
+ end
13
+
14
+ def test_is_encrypted
15
+ p7 = PKCS7.new
16
+ p7.type = ASN1Registry::NID_pkcs7_encrypted
17
+ assert !p7.signed?
18
+ assert p7.encrypted?
19
+ assert !p7.enveloped?
20
+ assert !p7.signed_and_enveloped?
21
+ assert !p7.data?
22
+ assert !p7.digest?
23
+ end
24
+
25
+ def test_is_enveloped
26
+ p7 = PKCS7.new
27
+ p7.type = ASN1Registry::NID_pkcs7_enveloped
28
+ assert !p7.signed?
29
+ assert !p7.encrypted?
30
+ assert p7.enveloped?
31
+ assert !p7.signed_and_enveloped?
32
+ assert !p7.data?
33
+ assert !p7.digest?
34
+ end
35
+
36
+ def test_is_signed_and_enveloped
37
+ p7 = PKCS7.new
38
+ p7.type = ASN1Registry::NID_pkcs7_signedAndEnveloped
39
+ assert !p7.signed?
40
+ assert !p7.encrypted?
41
+ assert !p7.enveloped?
42
+ assert p7.signed_and_enveloped?
43
+ assert !p7.data?
44
+ assert !p7.digest?
45
+ end
46
+
47
+ def test_is_data
48
+ p7 = PKCS7.new
49
+ p7.type = ASN1Registry::NID_pkcs7_data
50
+ assert !p7.signed?
51
+ assert !p7.encrypted?
52
+ assert !p7.enveloped?
53
+ assert !p7.signed_and_enveloped?
54
+ assert p7.data?
55
+ assert !p7.digest?
56
+ end
57
+
58
+ def test_is_digest
59
+ p7 = PKCS7.new
60
+ p7.type = ASN1Registry::NID_pkcs7_digest
61
+ assert !p7.signed?
62
+ assert !p7.encrypted?
63
+ assert !p7.enveloped?
64
+ assert !p7.signed_and_enveloped?
65
+ assert !p7.data?
66
+ assert p7.digest?
67
+ end
68
+
69
+ def test_set_detached
70
+ p7 = PKCS7.new
71
+ p7.type = ASN1Registry::NID_pkcs7_signed
72
+
73
+ sign = Signed.new
74
+ p7.sign = sign
75
+
76
+ test_p7 = PKCS7.new
77
+ test_p7.type = ASN1Registry::NID_pkcs7_data
78
+ test_p7.data = ASN1::OctetString.new("foo".to_java_bytes)
79
+ sign.contents = test_p7
80
+
81
+ p7.detached = 2
82
+ assert_equal 1, p7.get_detached
83
+ assert_equal nil, test_p7.get_data
84
+ end
85
+
86
+ def test_set_not_detached
87
+ p7 = PKCS7.new
88
+ p7.type = ASN1Registry::NID_pkcs7_signed
89
+
90
+ sign = Signed.new
91
+ p7.sign = sign
92
+
93
+ test_p7 = PKCS7.new
94
+ test_p7.type = ASN1Registry::NID_pkcs7_data
95
+ data = ASN1::OctetString.new("foo".to_java_bytes)
96
+ test_p7.data = data
97
+ sign.contents = test_p7
98
+
99
+ p7.detached = 0
100
+ assert_equal 0, p7.get_detached
101
+ assert_equal data, test_p7.get_data
102
+ end
103
+
104
+ def test_is_detached
105
+ p7 = PKCS7.new
106
+ p7.type = ASN1Registry::NID_pkcs7_signed
107
+
108
+ sign = Signed.new
109
+ p7.sign = sign
110
+
111
+ test_p7 = PKCS7.new
112
+ test_p7.type = ASN1Registry::NID_pkcs7_data
113
+ data = ASN1::OctetString.new("foo".to_java_bytes)
114
+ test_p7.data = data
115
+ sign.contents = test_p7
116
+
117
+ p7.detached = 1
118
+ assert p7.detached?
119
+ end
120
+
121
+ def test_is_detached_with_wrong_type
122
+ p7 = PKCS7.new
123
+ p7.type = ASN1Registry::NID_pkcs7_data
124
+
125
+ assert !p7.detached?
126
+ end
127
+
128
+ def _test_encrypt_generates_enveloped_PKCS7_object
129
+ p7 = PKCS7.encrypt([], "".to_java_bytes, nil, 0)
130
+ assert !p7.signed?
131
+ assert !p7.encrypted?
132
+ assert p7.enveloped?
133
+ assert !p7.signed_and_enveloped?
134
+ assert !p7.data?
135
+ assert !p7.digest?
136
+ end
137
+
138
+ def test_set_type_throws_exception_on_wrong_argument
139
+ assert_raises NativeException do
140
+ # 42 is a value that is not one of the valid NID's for type
141
+ PKCS7.new.type = 42
142
+ end
143
+ end
144
+
145
+ def test_set_type_signed
146
+ p7 = PKCS7.new
147
+ p7.type = ASN1Registry::NID_pkcs7_signed
148
+
149
+ assert p7.signed?
150
+ assert_equal 1, p7.get_sign.version
151
+
152
+ assert_nil p7.get_data
153
+ assert_nil p7.get_enveloped
154
+ assert_nil p7.get_signed_and_enveloped
155
+ assert_nil p7.get_digest
156
+ assert_nil p7.get_encrypted
157
+ assert_nil p7.get_other
158
+ end
159
+
160
+ def test_set_type_data
161
+ p7 = PKCS7.new
162
+ p7.type = ASN1Registry::NID_pkcs7_data
163
+
164
+ assert p7.data?
165
+ assert_equal ASN1::OctetString.new("".to_java_bytes), p7.get_data
166
+
167
+ assert_nil p7.get_sign
168
+ assert_nil p7.get_enveloped
169
+ assert_nil p7.get_signed_and_enveloped
170
+ assert_nil p7.get_digest
171
+ assert_nil p7.get_encrypted
172
+ assert_nil p7.get_other
173
+ end
174
+
175
+ def test_set_type_signed_and_enveloped
176
+ p7 = PKCS7.new
177
+ p7.type = ASN1Registry::NID_pkcs7_signedAndEnveloped
178
+
179
+ assert p7.signed_and_enveloped?
180
+ assert_equal 1, p7.get_signed_and_enveloped.version
181
+ assert_equal ASN1Registry::NID_pkcs7_data, p7.get_signed_and_enveloped.enc_data.content_type
182
+
183
+ assert_nil p7.get_sign
184
+ assert_nil p7.get_enveloped
185
+ assert_nil p7.get_data
186
+ assert_nil p7.get_digest
187
+ assert_nil p7.get_encrypted
188
+ assert_nil p7.get_other
189
+ end
190
+
191
+ def test_set_type_enveloped
192
+ p7 = PKCS7.new
193
+ p7.type = ASN1Registry::NID_pkcs7_enveloped
194
+
195
+ assert p7.enveloped?
196
+ assert_equal 0, p7.get_enveloped.version
197
+ assert_equal ASN1Registry::NID_pkcs7_data, p7.get_enveloped.enc_data.content_type
198
+
199
+ assert_nil p7.get_sign
200
+ assert_nil p7.get_signed_and_enveloped
201
+ assert_nil p7.get_data
202
+ assert_nil p7.get_digest
203
+ assert_nil p7.get_encrypted
204
+ assert_nil p7.get_other
205
+ end
206
+
207
+ def test_set_type_encrypted
208
+ p7 = PKCS7.new
209
+ p7.type = ASN1Registry::NID_pkcs7_encrypted
210
+
211
+ assert p7.encrypted?
212
+ assert_equal 0, p7.get_encrypted.version
213
+ assert_equal ASN1Registry::NID_pkcs7_data, p7.get_encrypted.enc_data.content_type
214
+
215
+ assert_nil p7.get_sign
216
+ assert_nil p7.get_signed_and_enveloped
217
+ assert_nil p7.get_data
218
+ assert_nil p7.get_digest
219
+ assert_nil p7.get_enveloped
220
+ assert_nil p7.get_other
221
+ end
222
+
223
+ def test_set_type_digest
224
+ p7 = PKCS7.new
225
+ p7.type = ASN1Registry::NID_pkcs7_digest
226
+
227
+ assert p7.digest?
228
+ assert_equal 0, p7.get_digest.version
229
+
230
+ assert_nil p7.get_sign
231
+ assert_nil p7.get_signed_and_enveloped
232
+ assert_nil p7.get_data
233
+ assert_nil p7.get_encrypted
234
+ assert_nil p7.get_enveloped
235
+ assert_nil p7.get_other
236
+ end
237
+
238
+ def test_set_cipher_on_non_enveloped_object
239
+ p7 = PKCS7.new
240
+ p7.type = ASN1Registry::NID_pkcs7_digest
241
+
242
+ assert_raises NativeException do
243
+ p7.cipher = nil
244
+ end
245
+
246
+ p7.type = ASN1Registry::NID_pkcs7_encrypted
247
+
248
+ assert_raises NativeException do
249
+ p7.cipher = nil
250
+ end
251
+
252
+ p7.type = ASN1Registry::NID_pkcs7_data
253
+
254
+ assert_raises NativeException do
255
+ p7.cipher = nil
256
+ end
257
+
258
+ p7.type = ASN1Registry::NID_pkcs7_signed
259
+
260
+ assert_raises NativeException do
261
+ p7.cipher = nil
262
+ end
263
+ end
264
+
265
+ def test_set_cipher_on_enveloped_object
266
+ p7 = PKCS7.new
267
+ p7.type = ASN1Registry::NID_pkcs7_enveloped
268
+
269
+ cipher = javax.crypto.Cipher.getInstance("RSA")
270
+
271
+ p7.cipher = cipher
272
+
273
+ assert_equal cipher, p7.get_enveloped.enc_data.cipher
274
+ end
275
+
276
+
277
+ def test_set_cipher_on_signedAndEnveloped_object
278
+ p7 = PKCS7.new
279
+ p7.type = ASN1Registry::NID_pkcs7_signedAndEnveloped
280
+
281
+ cipher = javax.crypto.Cipher.getInstance("RSA")
282
+
283
+ p7.cipher = cipher
284
+
285
+ assert_equal cipher, p7.get_signed_and_enveloped.enc_data.cipher
286
+ end
287
+
288
+ def test_add_recipient_info_to_something_that_cant_have_recipients
289
+ p7 = PKCS7.new
290
+ p7.type = ASN1Registry::NID_pkcs7_signed
291
+ assert_raises NativeException do
292
+ p7.add_recipient(X509Cert)
293
+ end
294
+
295
+ p7 = PKCS7.new
296
+ p7.type = ASN1Registry::NID_pkcs7_data
297
+ assert_raises NativeException do
298
+ p7.add_recipient(X509Cert)
299
+ end
300
+
301
+ p7 = PKCS7.new
302
+ p7.type = ASN1Registry::NID_pkcs7_encrypted
303
+ assert_raises NativeException do
304
+ p7.add_recipient(X509Cert)
305
+ end
306
+
307
+ p7 = PKCS7.new
308
+ p7.type = ASN1Registry::NID_pkcs7_digest
309
+ assert_raises NativeException do
310
+ p7.add_recipient(X509Cert)
311
+ end
312
+ end
313
+
314
+ def test_add_recipient_info_to_enveloped_should_add_that_to_stack
315
+ p7 = PKCS7.new
316
+ p7.type = ASN1Registry::NID_pkcs7_enveloped
317
+
318
+ ri = p7.add_recipient(X509Cert)
319
+
320
+ assert_equal 1, p7.get_enveloped.recipient_info.size
321
+ assert_equal ri, p7.get_enveloped.recipient_info.iterator.next
322
+ end
323
+
324
+
325
+ def test_add_recipient_info_to_signedAndEnveloped_should_add_that_to_stack
326
+ p7 = PKCS7.new
327
+ p7.type = ASN1Registry::NID_pkcs7_signedAndEnveloped
328
+
329
+ ri = p7.add_recipient(X509Cert)
330
+
331
+ assert_equal 1, p7.get_signed_and_enveloped.recipient_info.size
332
+ assert_equal ri, p7.get_signed_and_enveloped.recipient_info.iterator.next
333
+ end
334
+
335
+ def test_add_signer_to_something_that_cant_have_signers
336
+ p7 = PKCS7.new
337
+ p7.type = ASN1Registry::NID_pkcs7_enveloped
338
+ assert_raises NativeException do
339
+ p7.add_signer(SignerInfoWithPkey.new(nil, nil, nil, nil, nil, nil, nil))
340
+ end
341
+
342
+ p7 = PKCS7.new
343
+ p7.type = ASN1Registry::NID_pkcs7_data
344
+ assert_raises NativeException do
345
+ p7.add_signer(SignerInfoWithPkey.new(nil, nil, nil, nil, nil, nil, nil))
346
+ end
347
+
348
+ p7 = PKCS7.new
349
+ p7.type = ASN1Registry::NID_pkcs7_encrypted
350
+ assert_raises NativeException do
351
+ p7.add_signer(SignerInfoWithPkey.new(nil, nil, nil, nil, nil, nil, nil))
352
+ end
353
+
354
+ p7 = PKCS7.new
355
+ p7.type = ASN1Registry::NID_pkcs7_digest
356
+ assert_raises NativeException do
357
+ p7.add_signer(SignerInfoWithPkey.new(nil, nil, nil, nil, nil, nil, nil))
358
+ end
359
+ end
360
+
361
+ def test_add_signer_to_signed_should_add_that_to_stack
362
+ p7 = PKCS7.new
363
+ p7.type = ASN1Registry::NID_pkcs7_signed
364
+
365
+ si = SignerInfoWithPkey.new(nil, nil, nil, nil, nil, nil, nil)
366
+ p7.add_signer(si)
367
+
368
+ assert_equal 1, p7.get_sign.signer_info.size
369
+ assert_equal si, p7.get_sign.signer_info.iterator.next
370
+ end
371
+
372
+
373
+ def test_add_signer_to_signedAndEnveloped_should_add_that_to_stack
374
+ p7 = PKCS7.new
375
+ p7.type = ASN1Registry::NID_pkcs7_signedAndEnveloped
376
+
377
+ si = SignerInfoWithPkey.new(nil, nil, nil, nil, nil, nil, nil)
378
+ p7.add_signer(si)
379
+
380
+ assert_equal 1, p7.get_signed_and_enveloped.signer_info.size
381
+ assert_equal si, p7.get_signed_and_enveloped.signer_info.iterator.next
382
+ end
383
+
384
+ def create_signer_info_with_algo(algo)
385
+ md5 = AlgorithmIdentifier.new(ASN1Registry.nid2obj(4))
386
+ SignerInfoWithPkey.new(DERInteger.new(BigInteger::ONE),
387
+ IssuerAndSerialNumber.new(X509Name.new("C=SE"), DERInteger.new(BigInteger::ONE)),
388
+ algo,
389
+ DERSet.new,
390
+ md5,
391
+ DEROctetString.new([].to_java(:byte)),
392
+ DERSet.new)
393
+ end
394
+
395
+ def test_add_signer_to_signed_with_new_algo_should_add_that_algo_to_the_algo_list
396
+ p7 = PKCS7.new
397
+ p7.type = ASN1Registry::NID_pkcs7_signed
398
+
399
+ # YES, these numbers are correct. Don't change them. They are OpenSSL internal NIDs
400
+ md5 = AlgorithmIdentifier.new(ASN1Registry.nid2obj(4))
401
+ md4 = AlgorithmIdentifier.new(ASN1Registry.nid2obj(5))
402
+
403
+ si = create_signer_info_with_algo(md5)
404
+ p7.add_signer(si)
405
+
406
+ assert_equal md5, p7.get_sign.md_algs.iterator.next
407
+ assert_equal 1, p7.get_sign.md_algs.size
408
+
409
+ si = create_signer_info_with_algo(md5)
410
+ p7.add_signer(si)
411
+
412
+ assert_equal md5, p7.get_sign.md_algs.iterator.next
413
+ assert_equal 1, p7.get_sign.md_algs.size
414
+
415
+ si = create_signer_info_with_algo(md4)
416
+ p7.add_signer(si)
417
+
418
+ assert_equal 2, p7.get_sign.md_algs.size
419
+ assert p7.get_sign.md_algs.contains(md4)
420
+ assert p7.get_sign.md_algs.contains(md5)
421
+ end
422
+
423
+
424
+ def test_add_signer_to_signedAndEnveloped_with_new_algo_should_add_that_algo_to_the_algo_list
425
+ p7 = PKCS7.new
426
+ p7.type = ASN1Registry::NID_pkcs7_signedAndEnveloped
427
+
428
+ # YES, these numbers are correct. Don't change them. They are OpenSSL internal NIDs
429
+ md5 = AlgorithmIdentifier.new(ASN1Registry.nid2obj(4))
430
+ md4 = AlgorithmIdentifier.new(ASN1Registry.nid2obj(5))
431
+
432
+ si = create_signer_info_with_algo(md5)
433
+ p7.add_signer(si)
434
+
435
+ assert_equal md5, p7.get_signed_and_enveloped.md_algs.iterator.next
436
+ assert_equal 1, p7.get_signed_and_enveloped.md_algs.size
437
+
438
+ si = create_signer_info_with_algo(md5)
439
+ p7.add_signer(si)
440
+
441
+ assert_equal md5, p7.get_signed_and_enveloped.md_algs.iterator.next
442
+ assert_equal 1, p7.get_signed_and_enveloped.md_algs.size
443
+
444
+ si = create_signer_info_with_algo(md4)
445
+ p7.add_signer(si)
446
+
447
+ assert_equal 2, p7.get_signed_and_enveloped.md_algs.size
448
+ assert p7.get_signed_and_enveloped.md_algs.contains(md4)
449
+ assert p7.get_signed_and_enveloped.md_algs.contains(md5)
450
+ end
451
+
452
+ def test_set_content_on_data_throws_exception
453
+ p7 = PKCS7.new
454
+ p7.type = ASN1Registry::NID_pkcs7_data
455
+ assert_raises NativeException do
456
+ p7.setContent(PKCS7.new)
457
+ end
458
+ end
459
+
460
+ def test_set_content_on_enveloped_throws_exception
461
+ p7 = PKCS7.new
462
+ p7.type = ASN1Registry::NID_pkcs7_enveloped
463
+ assert_raises NativeException do
464
+ p7.setContent(PKCS7.new)
465
+ end
466
+ end
467
+
468
+ def test_set_content_on_signedAndEnveloped_throws_exception
469
+ p7 = PKCS7.new
470
+ p7.type = ASN1Registry::NID_pkcs7_signedAndEnveloped
471
+ assert_raises NativeException do
472
+ p7.setContent(PKCS7.new)
473
+ end
474
+ end
475
+
476
+ def test_set_content_on_encrypted_throws_exception
477
+ p7 = PKCS7.new
478
+ p7.type = ASN1Registry::NID_pkcs7_encrypted
479
+ assert_raises NativeException do
480
+ p7.setContent(PKCS7.new)
481
+ end
482
+ end
483
+
484
+ def test_set_content_on_signed_sets_the_content
485
+ p7 = PKCS7.new
486
+ p7.type = ASN1Registry::NID_pkcs7_signed
487
+ p7new = PKCS7.new
488
+ p7.setContent(p7new)
489
+
490
+ assert_equal p7new, p7.get_sign.contents
491
+ end
492
+
493
+ def test_set_content_on_digest_sets_the_content
494
+ p7 = PKCS7.new
495
+ p7.type = ASN1Registry::NID_pkcs7_digest
496
+ p7new = PKCS7.new
497
+ p7.setContent(p7new)
498
+
499
+ assert_equal p7new, p7.get_digest.contents
500
+ end
501
+
502
+ def test_get_signer_info_on_digest_returns_null
503
+ p7 = PKCS7.new
504
+ p7.type = ASN1Registry::NID_pkcs7_digest
505
+ assert_nil p7.signer_info
506
+ end
507
+
508
+ def test_get_signer_info_on_data_returns_null
509
+ p7 = PKCS7.new
510
+ p7.type = ASN1Registry::NID_pkcs7_data
511
+ assert_nil p7.signer_info
512
+ end
513
+
514
+ def test_get_signer_info_on_encrypted_returns_null
515
+ p7 = PKCS7.new
516
+ p7.type = ASN1Registry::NID_pkcs7_encrypted
517
+ assert_nil p7.signer_info
518
+ end
519
+
520
+ def test_get_signer_info_on_enveloped_returns_null
521
+ p7 = PKCS7.new
522
+ p7.type = ASN1Registry::NID_pkcs7_enveloped
523
+ assert_nil p7.signer_info
524
+ end
525
+
526
+ def test_get_signer_info_on_signed_returns_signer_info
527
+ p7 = PKCS7.new
528
+ p7.type = ASN1Registry::NID_pkcs7_signed
529
+ assert_equal p7.get_sign.signer_info.object_id, p7.signer_info.object_id
530
+ end
531
+
532
+ def test_get_signer_info_on_signedAndEnveloped_returns_signer_info
533
+ p7 = PKCS7.new
534
+ p7.type = ASN1Registry::NID_pkcs7_signedAndEnveloped
535
+ assert_equal p7.get_signed_and_enveloped.signer_info.object_id, p7.signer_info.object_id
536
+ end
537
+
538
+ def test_content_new_on_data_raises_exception
539
+ p7 = PKCS7.new
540
+ p7.type = ASN1Registry::NID_pkcs7_data
541
+ assert_raises NativeException do
542
+ p7.content_new(ASN1Registry::NID_pkcs7_data)
543
+ end
544
+ end
545
+
546
+ def test_content_new_on_encrypted_raises_exception
547
+ p7 = PKCS7.new
548
+ p7.type = ASN1Registry::NID_pkcs7_encrypted
549
+ assert_raises NativeException do
550
+ p7.content_new(ASN1Registry::NID_pkcs7_data)
551
+ end
552
+ end
553
+
554
+ def test_content_new_on_enveloped_raises_exception
555
+ p7 = PKCS7.new
556
+ p7.type = ASN1Registry::NID_pkcs7_enveloped
557
+ assert_raises NativeException do
558
+ p7.content_new(ASN1Registry::NID_pkcs7_data)
559
+ end
560
+ end
561
+
562
+ def test_content_new_on_signedAndEnveloped_raises_exception
563
+ p7 = PKCS7.new
564
+ p7.type = ASN1Registry::NID_pkcs7_signedAndEnveloped
565
+ assert_raises NativeException do
566
+ p7.content_new(ASN1Registry::NID_pkcs7_data)
567
+ end
568
+ end
569
+
570
+ def test_content_new_on_digest_creates_new_content
571
+ p7 = PKCS7.new
572
+ p7.type = ASN1Registry::NID_pkcs7_digest
573
+ p7.content_new(ASN1Registry::NID_pkcs7_signedAndEnveloped)
574
+ assert p7.get_digest.contents.signed_and_enveloped?
575
+
576
+ p7.content_new(ASN1Registry::NID_pkcs7_encrypted)
577
+ assert p7.get_digest.contents.encrypted?
578
+ end
579
+
580
+ def test_content_new_on_signed_creates_new_content
581
+ p7 = PKCS7.new
582
+ p7.type = ASN1Registry::NID_pkcs7_signed
583
+ p7.content_new(ASN1Registry::NID_pkcs7_signedAndEnveloped)
584
+ assert p7.get_sign.contents.signed_and_enveloped?
585
+
586
+ p7.content_new(ASN1Registry::NID_pkcs7_encrypted)
587
+ assert p7.get_sign.contents.encrypted?
588
+ end
589
+
590
+
591
+ def test_add_certificate_on_data_throws_exception
592
+ p7 = PKCS7.new
593
+ p7.type = ASN1Registry::NID_pkcs7_data
594
+ assert_raises NativeException do
595
+ p7.add_certificate(X509Cert)
596
+ end
597
+ end
598
+
599
+ def test_add_certificate_on_enveloped_throws_exception
600
+ p7 = PKCS7.new
601
+ p7.type = ASN1Registry::NID_pkcs7_enveloped
602
+ assert_raises NativeException do
603
+ p7.add_certificate(X509Cert)
604
+ end
605
+ end
606
+
607
+ def test_add_certificate_on_encrypted_throws_exception
608
+ p7 = PKCS7.new
609
+ p7.type = ASN1Registry::NID_pkcs7_encrypted
610
+ assert_raises NativeException do
611
+ p7.add_certificate(X509Cert)
612
+ end
613
+ end
614
+
615
+ def test_add_certificate_on_digest_throws_exception
616
+ p7 = PKCS7.new
617
+ p7.type = ASN1Registry::NID_pkcs7_digest
618
+ assert_raises NativeException do
619
+ p7.add_certificate(X509Cert)
620
+ end
621
+ end
622
+
623
+ def test_add_certificate_on_signed_adds_the_certificate
624
+ p7 = PKCS7.new
625
+ p7.type = ASN1Registry::NID_pkcs7_signed
626
+ p7.add_certificate(X509Cert)
627
+ assert_equal 1, p7.get_sign.cert.size
628
+ assert_equal X509Cert, p7.get_sign.cert.iterator.next
629
+ end
630
+
631
+ def test_add_certificate_on_signedAndEnveloped_adds_the_certificate
632
+ p7 = PKCS7.new
633
+ p7.type = ASN1Registry::NID_pkcs7_signedAndEnveloped
634
+ p7.add_certificate(X509Cert)
635
+ assert_equal 1, p7.get_signed_and_enveloped.cert.size
636
+ assert_equal X509Cert, p7.get_signed_and_enveloped.cert.get(0)
637
+ end
638
+
639
+ def test_add_crl_on_data_throws_exception
640
+ p7 = PKCS7.new
641
+ p7.type = ASN1Registry::NID_pkcs7_data
642
+ assert_raises NativeException do
643
+ p7.add_crl(X509CRL)
644
+ end
645
+ end
646
+
647
+ def test_add_crl_on_enveloped_throws_exception
648
+ p7 = PKCS7.new
649
+ p7.type = ASN1Registry::NID_pkcs7_enveloped
650
+ assert_raises NativeException do
651
+ p7.add_crl(X509CRL)
652
+ end
653
+ end
654
+
655
+ def test_add_crl_on_encrypted_throws_exception
656
+ p7 = PKCS7.new
657
+ p7.type = ASN1Registry::NID_pkcs7_encrypted
658
+ assert_raises NativeException do
659
+ p7.add_crl(X509CRL)
660
+ end
661
+ end
662
+
663
+ def test_add_crl_on_digest_throws_exception
664
+ p7 = PKCS7.new
665
+ p7.type = ASN1Registry::NID_pkcs7_digest
666
+ assert_raises NativeException do
667
+ p7.add_crl(X509CRL)
668
+ end
669
+ end
670
+
671
+ def test_add_crl_on_signed_adds_the_crl
672
+ p7 = PKCS7.new
673
+ p7.type = ASN1Registry::NID_pkcs7_signed
674
+ p7.add_crl(X509CRL)
675
+ assert_equal 1, p7.get_sign.crl.size
676
+ assert_equal X509CRL, p7.get_sign.crl.iterator.next
677
+ end
678
+
679
+ def test_add_crl_on_signedAndEnveloped_adds_the_crl
680
+ p7 = PKCS7.new
681
+ p7.type = ASN1Registry::NID_pkcs7_signedAndEnveloped
682
+ p7.add_crl(X509CRL)
683
+ assert_equal 1, p7.get_signed_and_enveloped.crl.size
684
+ assert_equal X509CRL, p7.get_signed_and_enveloped.crl.get(0)
685
+ end
686
+
687
+ EXISTING_PKCS7_DEF = "0\202\002 \006\t*\206H\206\367\r\001\a\003\240\202\002\0210\202\002\r\002\001\0001\202\001\2700\201\331\002\001\0000B0=1\0230\021\006\n\t\222&\211\223\362,d\001\031\026\003org1\0310\027\006\n\t\222&\211\223\362,d\001\031\026\truby-lang1\v0\t\006\003U\004\003\f\002CA\002\001\0020\r\006\t*\206H\206\367\r\001\001\001\005\000\004\201\200\213kF\330\030\362\237\363$\311\351\207\271+_\310sr\344\233N\200\233)\272\226\343\003\224OOf\372 \r\301{\206\367\241\270\006\240\254\3179F\232\231Q\232\225\347\373\233\032\375\360\035o\371\275p\306\v5Z)\263\037\302|\307\300\327\a\375\023G'Ax\313\346\261\254\227K\026\364\242\337\367\362rk\276\023\217m\326\343F\366I1\263\nLuNf\234\203\261\300\030\232Q\277\231\f0\030\001\332\021\0030\201\331\002\001\0000B0=1\0230\021\006\n\t\222&\211\223\362,d\001\031\026\003org1\0310\027\006\n\t\222&\211\223\362,d\001\031\026\truby-lang1\v0\t\006\003U\004\003\f\002CA\002\001\0030\r\006\t*\206H\206\367\r\001\001\001\005\000\004\201\200\215\223\3428\2440]\0278\016\230,\315\023Tg\325`\376~\353\304\020\243N{\326H\003\005\361q\224OI\310\2324-\341?\355&r\215\233\361\245jF\255R\271\203D\304v\325\265\243\321$\bSh\031i\eS\240\227\362\221\364\232\035\202\f?x\031\223D\004ZHD\355'g\243\037\236mJ\323\210\347\274m\324-\351\332\353#A\273\002\"h\aM\202\347\236\265\aI$@\240bt=<\212\2370L\006\t*\206H\206\367\r\001\a\0010\035\006\t`\206H\001e\003\004\001\002\004\020L?\325\372\\\360\366\372\237|W\333nnI\255\200 \253\234\252\263\006\335\037\320\350{s\352r\337\304\305\216\223k\003\376f\027_\201\035#*\002yM\334"
688
+
689
+ EXISTING_PKCS7_1 = PKCS7::from_asn1(ASN1InputStream.new(EXISTING_PKCS7_DEF.to_java_bytes).read_object)
690
+
691
+ def test_encrypt_integration_test
692
+ certs = [X509Cert]
693
+ cipher = Cipher.get_instance("AES", BCP.new)
694
+ data = "aaaaa\nbbbbb\nccccc\n".to_java_bytes
695
+ PKCS7::encrypt(certs, data, cipher, PKCS7::BINARY)
696
+ # puts
697
+ # puts PKCS7::encrypt(certs, data, cipher, PKCS7::BINARY)
698
+ # puts
699
+ # puts EXISTING_PKCS7_1
700
+ end
701
+
702
+ EXISTING_PKCS7_PEM = <<PKCS7STR
703
+ -----BEGIN PKCS7-----
704
+ MIICIAYJKoZIhvcNAQcDoIICETCCAg0CAQAxggG4MIHZAgEAMEIwPTETMBEGCgmS
705
+ JomT8ixkARkWA29yZzEZMBcGCgmSJomT8ixkARkWCXJ1YnktbGFuZzELMAkGA1UE
706
+ AwwCQ0ECAQIwDQYJKoZIhvcNAQEBBQAEgYCPGMV4KS/8amYA2xeIjj9qLseJf7dl
707
+ BtSDp+YAU3y1JnW7XufBCKxYw7eCuhWWA/mrxijr+wdsFDvSalM6nPX2P2NiVMWP
708
+ a7mzErZ4WrzkKIuGczYPYPJetwBYuhik3ya4ygYygoYssVRAITOSsEKpfqHAPmI+
709
+ AUJkqmCdGpQu9TCB2QIBADBCMD0xEzARBgoJkiaJk/IsZAEZFgNvcmcxGTAXBgoJ
710
+ kiaJk/IsZAEZFglydWJ5LWxhbmcxCzAJBgNVBAMMAkNBAgEDMA0GCSqGSIb3DQEB
711
+ AQUABIGAPaBX0KM3S+2jcrQrncu1jrvm1PUXlUvMfFIG2oBfPkMhiqCBvkOct1Ve
712
+ ws1hxvGtsqyjAUn02Yx1+gQJhTN4JZZHNqkfi0TwN32nlwLxclKcrbF9bvtMiVHx
713
+ V3LrSygblxxJsBf8reoV4yTJRa3w98bEoDhjUwjfy5xTml2cAn4wTAYJKoZIhvcN
714
+ AQcBMB0GCWCGSAFlAwQBAgQQath+2gUo4ntkKl8FO1LLhoAg58j0Jn/OfWG3rNRH
715
+ kTtUQfnBFk/UGbTZgExHILaGz8Y=
716
+ -----END PKCS7-----
717
+ PKCS7STR
718
+
719
+ PKCS7_PEM_CONTENTS = "\347\310\364&\177\316}a\267\254\324G\221;TA\371\301\026O\324\031\264\331\200LG \266\206\317\306"
720
+
721
+ PKCS7_PEM_FIRST_KEY = "\217\030\305x)/\374jf\000\333\027\210\216?j.\307\211\177\267e\006\324\203\247\346\000S|\265&u\273^\347\301\b\254X\303\267\202\272\025\226\003\371\253\306(\353\373\al\024;\322jS:\234\365\366?cbT\305\217k\271\263\022\266xZ\274\344(\213\206s6\017`\362^\267\000X\272\030\244\337&\270\312\0062\202\206,\261T@!3\222\260B\251~\241\300>b>\001Bd\252`\235\032\224.\365"
722
+
723
+ PKCS7_PEM_SECOND_KEY = "=\240W\320\2437K\355\243r\264+\235\313\265\216\273\346\324\365\027\225K\314|R\006\332\200_>C!\212\240\201\276C\234\267U^\302\315a\306\361\255\262\254\243\001I\364\331\214u\372\004\t\2053x%\226G6\251\037\213D\3607}\247\227\002\361rR\234\255\261}n\373L\211Q\361Wr\353K(\e\227\034I\260\027\374\255\352\025\343$\311E\255\360\367\306\304\2408cS\b\337\313\234S\232]\234\002~"
724
+
725
+ def test_PEM_read_pkcs7_bio
726
+ bio = BIO::mem_buf(EXISTING_PKCS7_PEM.to_java_bytes)
727
+ p7 = PKCS7.read_pem(bio)
728
+
729
+ assert_equal ASN1Registry::NID_pkcs7_enveloped, p7.type
730
+ env = p7.get_enveloped
731
+ assert_equal 0, env.version
732
+ enc_data = env.enc_data
733
+ assert_equal ASN1Registry::NID_pkcs7_data, enc_data.content_type
734
+ assert_equal ASN1Registry::NID_aes_128_cbc, ASN1Registry::obj2nid(enc_data.algorithm.get_object_id)
735
+ assert_equal PKCS7_PEM_CONTENTS, String.from_java_bytes(enc_data.enc_data.octets)
736
+
737
+ ris = env.recipient_info
738
+ assert_equal 2, ris.size
739
+
740
+ first = second = nil
741
+ tmp = ris.iterator.next
742
+
743
+ if tmp.issuer_and_serial.certificate_serial_number.value == 2
744
+ first = tmp
745
+ iter = ris.iterator
746
+ iter.next
747
+ second = iter.next
748
+ else
749
+ second = tmp
750
+ iter = ris.iterator
751
+ iter.next
752
+ first = iter.next
753
+ end
754
+
755
+ assert_equal 0, first.version
756
+ assert_equal 0, second.version
757
+
758
+ assert_equal "DC=org,DC=ruby-lang,CN=CA", first.issuer_and_serial.name.to_s
759
+ assert_equal "DC=org,DC=ruby-lang,CN=CA", second.issuer_and_serial.name.to_s
760
+
761
+ assert_equal ASN1Registry::NID_rsaEncryption, ASN1Registry::obj2nid(first.key_enc_algor.get_object_id)
762
+ assert_equal ASN1Registry::NID_rsaEncryption, ASN1Registry::obj2nid(second.key_enc_algor.get_object_id)
763
+
764
+ assert_equal PKCS7_PEM_FIRST_KEY, String.from_java_bytes(first.enc_key.octets)
765
+ assert_equal PKCS7_PEM_SECOND_KEY, String.from_java_bytes(second.enc_key.octets)
766
+ end
767
+ end
768
+ end
769
+