rho-tau-extensions 5.5.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (661) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +2 -0
  3. data/LICENSE +21 -0
  4. data/README.md +6 -0
  5. data/Rakefile +90 -0
  6. data/libs/crosswalk.rb +2 -0
  7. data/libs/crosswalk/crosswalk.rb +2 -0
  8. data/libs/crosswalk/ext.yml +21 -0
  9. data/libs/crosswalk/ext/Crosswalk.xml +27 -0
  10. data/libs/crosswalk/ext/build +19 -0
  11. data/libs/crosswalk/ext/build.bat +29 -0
  12. data/libs/crosswalk/ext/platform/android/AndroidManifest.xml +9 -0
  13. data/libs/crosswalk/ext/platform/android/Rakefile +141 -0
  14. data/libs/crosswalk/ext/platform/android/adds/lib/armeabi/libxwalkcore.so +0 -0
  15. data/libs/crosswalk/ext/platform/android/adds/lib/armeabi/libxwalkdummy.so +0 -0
  16. data/libs/crosswalk/ext/platform/android/adds/lib/x86/libxwalkcore.so +0 -0
  17. data/libs/crosswalk/ext/platform/android/adds/lib/x86/libxwalkdummy.so +0 -0
  18. data/libs/crosswalk/ext/platform/android/adds/lib/xwalk_core_library_java.jar +0 -0
  19. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/bubble.9.png +0 -0
  20. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/bubble_arrow_up.png +0 -0
  21. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/color_picker_advanced_select_handle.png +0 -0
  22. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/crosswalk.png +0 -0
  23. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/dropdown_popup_background_down.9.png +0 -0
  24. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/dropdown_popup_background_up.9.png +0 -0
  25. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ic_menu_share_holo_light.png +0 -0
  26. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ic_search.png +0 -0
  27. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ic_warning.png +0 -0
  28. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/ondemand_overlay.9.png +0 -0
  29. data/libs/crosswalk/ext/platform/android/adds/res/drawable-hdpi/verify_checkmark.png +0 -0
  30. data/libs/crosswalk/ext/platform/android/adds/res/drawable-ldpi/crosswalk.png +0 -0
  31. data/libs/crosswalk/ext/platform/android/adds/res/drawable-mdpi/crosswalk.png +0 -0
  32. data/libs/crosswalk/ext/platform/android/adds/res/drawable-v21/button_borderless_compat.xml +10 -0
  33. data/libs/crosswalk/ext/platform/android/adds/res/drawable-v21/button_compat.xml +9 -0
  34. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/bubble.9.png +0 -0
  35. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/bubble_arrow_up.png +0 -0
  36. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/color_picker_advanced_select_handle.png +0 -0
  37. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/crosswalk.png +0 -0
  38. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/dropdown_popup_background_down.9.png +0 -0
  39. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/dropdown_popup_background_up.9.png +0 -0
  40. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ic_menu_share_holo_light.png +0 -0
  41. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ic_search.png +0 -0
  42. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ic_warning.png +0 -0
  43. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/ondemand_overlay.9.png +0 -0
  44. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xhdpi/verify_checkmark.png +0 -0
  45. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/ic_menu_share_holo_light.png +0 -0
  46. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/ic_search.png +0 -0
  47. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/ic_warning.png +0 -0
  48. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxhdpi/verify_checkmark.png +0 -0
  49. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/ic_menu_share_holo_light.png +0 -0
  50. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/ic_search.png +0 -0
  51. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/ic_warning.png +0 -0
  52. data/libs/crosswalk/ext/platform/android/adds/res/drawable-xxxhdpi/verify_checkmark.png +0 -0
  53. data/libs/crosswalk/ext/platform/android/adds/res/drawable/autofill_chip_inset.xml +15 -0
  54. data/libs/crosswalk/ext/platform/android/adds/res/drawable/bubble.9.png +0 -0
  55. data/libs/crosswalk/ext/platform/android/adds/res/drawable/bubble_arrow_up.png +0 -0
  56. data/libs/crosswalk/ext/platform/android/adds/res/drawable/button_compat_shape.xml +9 -0
  57. data/libs/crosswalk/ext/platform/android/adds/res/drawable/color_button_background.xml +36 -0
  58. data/libs/crosswalk/ext/platform/android/adds/res/drawable/color_picker_advanced_select_handle.png +0 -0
  59. data/libs/crosswalk/ext/platform/android/adds/res/drawable/color_picker_border.xml +12 -0
  60. data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_label_color.xml +11 -0
  61. data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_popup_background.xml +13 -0
  62. data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_popup_background_down.9.png +0 -0
  63. data/libs/crosswalk/ext/platform/android/adds/res/drawable/dropdown_popup_background_up.9.png +0 -0
  64. data/libs/crosswalk/ext/platform/android/adds/res/drawable/ic_menu_share_holo_light.png +0 -0
  65. data/libs/crosswalk/ext/platform/android/adds/res/drawable/ic_search.png +0 -0
  66. data/libs/crosswalk/ext/platform/android/adds/res/drawable/ic_warning.png +0 -0
  67. data/libs/crosswalk/ext/platform/android/adds/res/drawable/launchscreen_bg.xml +19 -0
  68. data/libs/crosswalk/ext/platform/android/adds/res/drawable/ondemand_overlay.9.png +0 -0
  69. data/libs/crosswalk/ext/platform/android/adds/res/drawable/verify_checkmark.png +0 -0
  70. data/libs/crosswalk/ext/platform/android/adds/res/layout-land/date_time_picker_dialog.xml +42 -0
  71. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/autofill_keyboard_accessory_item.xml +40 -0
  72. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/autofill_suggestion_item.xml +18 -0
  73. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/color_picker_advanced_component.xml +46 -0
  74. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/color_picker_dialog_content.xml +51 -0
  75. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/color_picker_dialog_title.xml +41 -0
  76. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/date_time_suggestion.xml +35 -0
  77. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/dropdown_item.xml +58 -0
  78. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/multi_field_time_picker_dialog.xml +122 -0
  79. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/two_field_date_picker.xml +38 -0
  80. data/libs/crosswalk/ext/platform/android/adds/res/layout-v17/validation_message_bubble.xml +72 -0
  81. data/libs/crosswalk/ext/platform/android/adds/res/layout/autofill_keyboard_accessory_icon.xml +13 -0
  82. data/libs/crosswalk/ext/platform/android/adds/res/layout/autofill_keyboard_accessory_item.xml +17 -0
  83. data/libs/crosswalk/ext/platform/android/adds/res/layout/autofill_suggestion_item.xml +7 -0
  84. data/libs/crosswalk/ext/platform/android/adds/res/layout/color_picker_advanced_component.xml +30 -0
  85. data/libs/crosswalk/ext/platform/android/adds/res/layout/color_picker_dialog_content.xml +36 -0
  86. data/libs/crosswalk/ext/platform/android/adds/res/layout/color_picker_dialog_title.xml +25 -0
  87. data/libs/crosswalk/ext/platform/android/adds/res/layout/date_time_picker_dialog.xml +42 -0
  88. data/libs/crosswalk/ext/platform/android/adds/res/layout/date_time_suggestion.xml +16 -0
  89. data/libs/crosswalk/ext/platform/android/adds/res/layout/dropdown_item.xml +34 -0
  90. data/libs/crosswalk/ext/platform/android/adds/res/layout/multi_field_time_picker_dialog.xml +50 -0
  91. data/libs/crosswalk/ext/platform/android/adds/res/layout/two_field_date_picker.xml +26 -0
  92. data/libs/crosswalk/ext/platform/android/adds/res/layout/validation_message_bubble.xml +47 -0
  93. data/libs/crosswalk/ext/platform/android/adds/res/menu/select_action_menu.xml +54 -0
  94. data/libs/crosswalk/ext/platform/android/adds/res/raw/contacts_api.js +206 -0
  95. data/libs/crosswalk/ext/platform/android/adds/res/raw/device_capabilities_api.js +231 -0
  96. data/libs/crosswalk/ext/platform/android/adds/res/raw/empty.wav +0 -0
  97. data/libs/crosswalk/ext/platform/android/adds/res/raw/icudtl.dat +0 -0
  98. data/libs/crosswalk/ext/platform/android/adds/res/raw/launch_screen_api.js +9 -0
  99. data/libs/crosswalk/ext/platform/android/adds/res/raw/messaging_api.js +359 -0
  100. data/libs/crosswalk/ext/platform/android/adds/res/raw/presentation_api.js +144 -0
  101. data/libs/crosswalk/ext/platform/android/adds/res/raw/wifidirect_api.js +227 -0
  102. data/libs/crosswalk/ext/platform/android/adds/res/raw/xwalk.pak +0 -0
  103. data/libs/crosswalk/ext/platform/android/adds/res/values-am/android_content_strings.xml +15 -0
  104. data/libs/crosswalk/ext/platform/android/adds/res/values-am/android_ui_strings.xml +47 -0
  105. data/libs/crosswalk/ext/platform/android/adds/res/values-ar/android_content_strings.xml +15 -0
  106. data/libs/crosswalk/ext/platform/android/adds/res/values-ar/android_ui_strings.xml +47 -0
  107. data/libs/crosswalk/ext/platform/android/adds/res/values-bg/android_content_strings.xml +15 -0
  108. data/libs/crosswalk/ext/platform/android/adds/res/values-bg/android_ui_strings.xml +47 -0
  109. data/libs/crosswalk/ext/platform/android/adds/res/values-ca/android_content_strings.xml +15 -0
  110. data/libs/crosswalk/ext/platform/android/adds/res/values-ca/android_ui_strings.xml +47 -0
  111. data/libs/crosswalk/ext/platform/android/adds/res/values-cs/android_content_strings.xml +15 -0
  112. data/libs/crosswalk/ext/platform/android/adds/res/values-cs/android_ui_strings.xml +47 -0
  113. data/libs/crosswalk/ext/platform/android/adds/res/values-da/android_content_strings.xml +15 -0
  114. data/libs/crosswalk/ext/platform/android/adds/res/values-da/android_ui_strings.xml +47 -0
  115. data/libs/crosswalk/ext/platform/android/adds/res/values-de/android_content_strings.xml +15 -0
  116. data/libs/crosswalk/ext/platform/android/adds/res/values-de/android_ui_strings.xml +47 -0
  117. data/libs/crosswalk/ext/platform/android/adds/res/values-el/android_content_strings.xml +15 -0
  118. data/libs/crosswalk/ext/platform/android/adds/res/values-el/android_ui_strings.xml +47 -0
  119. data/libs/crosswalk/ext/platform/android/adds/res/values-en-rGB/android_content_strings.xml +15 -0
  120. data/libs/crosswalk/ext/platform/android/adds/res/values-en-rGB/android_ui_strings.xml +47 -0
  121. data/libs/crosswalk/ext/platform/android/adds/res/values-es-rUS/android_content_strings.xml +15 -0
  122. data/libs/crosswalk/ext/platform/android/adds/res/values-es-rUS/android_ui_strings.xml +47 -0
  123. data/libs/crosswalk/ext/platform/android/adds/res/values-es/android_content_strings.xml +15 -0
  124. data/libs/crosswalk/ext/platform/android/adds/res/values-es/android_ui_strings.xml +47 -0
  125. data/libs/crosswalk/ext/platform/android/adds/res/values-fa/android_content_strings.xml +15 -0
  126. data/libs/crosswalk/ext/platform/android/adds/res/values-fa/android_ui_strings.xml +47 -0
  127. data/libs/crosswalk/ext/platform/android/adds/res/values-fi/android_content_strings.xml +15 -0
  128. data/libs/crosswalk/ext/platform/android/adds/res/values-fi/android_ui_strings.xml +47 -0
  129. data/libs/crosswalk/ext/platform/android/adds/res/values-fr/android_content_strings.xml +15 -0
  130. data/libs/crosswalk/ext/platform/android/adds/res/values-fr/android_ui_strings.xml +47 -0
  131. data/libs/crosswalk/ext/platform/android/adds/res/values-hi/android_content_strings.xml +15 -0
  132. data/libs/crosswalk/ext/platform/android/adds/res/values-hi/android_ui_strings.xml +47 -0
  133. data/libs/crosswalk/ext/platform/android/adds/res/values-hr/android_content_strings.xml +15 -0
  134. data/libs/crosswalk/ext/platform/android/adds/res/values-hr/android_ui_strings.xml +47 -0
  135. data/libs/crosswalk/ext/platform/android/adds/res/values-hu/android_content_strings.xml +15 -0
  136. data/libs/crosswalk/ext/platform/android/adds/res/values-hu/android_ui_strings.xml +47 -0
  137. data/libs/crosswalk/ext/platform/android/adds/res/values-in/android_content_strings.xml +15 -0
  138. data/libs/crosswalk/ext/platform/android/adds/res/values-in/android_ui_strings.xml +47 -0
  139. data/libs/crosswalk/ext/platform/android/adds/res/values-it/android_content_strings.xml +15 -0
  140. data/libs/crosswalk/ext/platform/android/adds/res/values-it/android_ui_strings.xml +47 -0
  141. data/libs/crosswalk/ext/platform/android/adds/res/values-iw/android_content_strings.xml +15 -0
  142. data/libs/crosswalk/ext/platform/android/adds/res/values-iw/android_ui_strings.xml +47 -0
  143. data/libs/crosswalk/ext/platform/android/adds/res/values-ja/android_content_strings.xml +15 -0
  144. data/libs/crosswalk/ext/platform/android/adds/res/values-ja/android_ui_strings.xml +47 -0
  145. data/libs/crosswalk/ext/platform/android/adds/res/values-ko/android_content_strings.xml +15 -0
  146. data/libs/crosswalk/ext/platform/android/adds/res/values-ko/android_ui_strings.xml +47 -0
  147. data/libs/crosswalk/ext/platform/android/adds/res/values-lt/android_content_strings.xml +15 -0
  148. data/libs/crosswalk/ext/platform/android/adds/res/values-lt/android_ui_strings.xml +47 -0
  149. data/libs/crosswalk/ext/platform/android/adds/res/values-lv/android_content_strings.xml +15 -0
  150. data/libs/crosswalk/ext/platform/android/adds/res/values-lv/android_ui_strings.xml +47 -0
  151. data/libs/crosswalk/ext/platform/android/adds/res/values-nb/android_content_strings.xml +15 -0
  152. data/libs/crosswalk/ext/platform/android/adds/res/values-nb/android_ui_strings.xml +47 -0
  153. data/libs/crosswalk/ext/platform/android/adds/res/values-nl/android_content_strings.xml +15 -0
  154. data/libs/crosswalk/ext/platform/android/adds/res/values-nl/android_ui_strings.xml +47 -0
  155. data/libs/crosswalk/ext/platform/android/adds/res/values-pl/android_content_strings.xml +15 -0
  156. data/libs/crosswalk/ext/platform/android/adds/res/values-pl/android_ui_strings.xml +47 -0
  157. data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rBR/android_content_strings.xml +15 -0
  158. data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rBR/android_ui_strings.xml +47 -0
  159. data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rPT/android_content_strings.xml +15 -0
  160. data/libs/crosswalk/ext/platform/android/adds/res/values-pt-rPT/android_ui_strings.xml +47 -0
  161. data/libs/crosswalk/ext/platform/android/adds/res/values-ro/android_content_strings.xml +15 -0
  162. data/libs/crosswalk/ext/platform/android/adds/res/values-ro/android_ui_strings.xml +47 -0
  163. data/libs/crosswalk/ext/platform/android/adds/res/values-ru/android_content_strings.xml +15 -0
  164. data/libs/crosswalk/ext/platform/android/adds/res/values-ru/android_ui_strings.xml +47 -0
  165. data/libs/crosswalk/ext/platform/android/adds/res/values-sk/android_content_strings.xml +15 -0
  166. data/libs/crosswalk/ext/platform/android/adds/res/values-sk/android_ui_strings.xml +47 -0
  167. data/libs/crosswalk/ext/platform/android/adds/res/values-sl/android_content_strings.xml +15 -0
  168. data/libs/crosswalk/ext/platform/android/adds/res/values-sl/android_ui_strings.xml +47 -0
  169. data/libs/crosswalk/ext/platform/android/adds/res/values-sr/android_content_strings.xml +15 -0
  170. data/libs/crosswalk/ext/platform/android/adds/res/values-sr/android_ui_strings.xml +47 -0
  171. data/libs/crosswalk/ext/platform/android/adds/res/values-sv/android_content_strings.xml +15 -0
  172. data/libs/crosswalk/ext/platform/android/adds/res/values-sv/android_ui_strings.xml +47 -0
  173. data/libs/crosswalk/ext/platform/android/adds/res/values-sw/android_content_strings.xml +15 -0
  174. data/libs/crosswalk/ext/platform/android/adds/res/values-sw/android_ui_strings.xml +47 -0
  175. data/libs/crosswalk/ext/platform/android/adds/res/values-th/android_content_strings.xml +15 -0
  176. data/libs/crosswalk/ext/platform/android/adds/res/values-th/android_ui_strings.xml +47 -0
  177. data/libs/crosswalk/ext/platform/android/adds/res/values-tl/android_content_strings.xml +15 -0
  178. data/libs/crosswalk/ext/platform/android/adds/res/values-tl/android_ui_strings.xml +47 -0
  179. data/libs/crosswalk/ext/platform/android/adds/res/values-tr/android_content_strings.xml +15 -0
  180. data/libs/crosswalk/ext/platform/android/adds/res/values-tr/android_ui_strings.xml +47 -0
  181. data/libs/crosswalk/ext/platform/android/adds/res/values-uk/android_content_strings.xml +15 -0
  182. data/libs/crosswalk/ext/platform/android/adds/res/values-uk/android_ui_strings.xml +47 -0
  183. data/libs/crosswalk/ext/platform/android/adds/res/values-v14/theme.xml +16 -0
  184. data/libs/crosswalk/ext/platform/android/adds/res/values-v17/styles.xml +19 -0
  185. data/libs/crosswalk/ext/platform/android/adds/res/values-v17/ui_java_styles.xml +41 -0
  186. data/libs/crosswalk/ext/platform/android/adds/res/values-v21/styles.xml +14 -0
  187. data/libs/crosswalk/ext/platform/android/adds/res/values-v21/ui_java_styles.xml +14 -0
  188. data/libs/crosswalk/ext/platform/android/adds/res/values-vi/android_content_strings.xml +15 -0
  189. data/libs/crosswalk/ext/platform/android/adds/res/values-vi/android_ui_strings.xml +47 -0
  190. data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rCN/android_content_strings.xml +15 -0
  191. data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rCN/android_ui_strings.xml +47 -0
  192. data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rTW/android_content_strings.xml +15 -0
  193. data/libs/crosswalk/ext/platform/android/adds/res/values-zh-rTW/android_ui_strings.xml +47 -0
  194. data/libs/crosswalk/ext/platform/android/adds/res/values/android_content_strings.xml +15 -0
  195. data/libs/crosswalk/ext/platform/android/adds/res/values/android_ui_strings.xml +47 -0
  196. data/libs/crosswalk/ext/platform/android/adds/res/values/android_xwalk_strings.xml +17 -0
  197. data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_attrs.xml +9 -0
  198. data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_dimens.xml +31 -0
  199. data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_strings.xml +16 -0
  200. data/libs/crosswalk/ext/platform/android/adds/res/values/ui_java_styles.xml +101 -0
  201. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_app_strings.xml +28 -0
  202. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_attrs.xml +11 -0
  203. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_colors.xml +13 -0
  204. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_core_internal_java_strings.xml +16 -0
  205. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_core_java_strings.xml +16 -0
  206. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_dimens.xml +11 -0
  207. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_resources_list.xml +7 -0
  208. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_styles.xml +40 -0
  209. data/libs/crosswalk/ext/platform/android/adds/res/values/xwalk_values.xml +10 -0
  210. data/libs/crosswalk/ext/platform/android/ext_java.files +14 -0
  211. data/libs/crosswalk/ext/platform/android/ext_native.files +7 -0
  212. data/libs/crosswalk/ext/platform/android/jni/Crosswalk_impl.cpp +61 -0
  213. data/libs/crosswalk/ext/platform/android/src/com/rho/crosswalk/Crosswalk.java +14 -0
  214. data/libs/crosswalk/ext/platform/android/src/com/rho/crosswalk/CrosswalkFactory.java +18 -0
  215. data/libs/crosswalk/ext/platform/android/src/com/rho/crosswalk/CrosswalkSingleton.java +24 -0
  216. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/CrosswalkExtension.java +16 -0
  217. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/RhodesListener.java +18 -0
  218. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/TauXWResourceClient.java +182 -0
  219. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/TauXWUIClient.java +125 -0
  220. data/libs/crosswalk/ext/platform/android/src/com/tautechnologies/tau/crosswalk/TauXWalkWebView.java +368 -0
  221. data/libs/crosswalk/ext/platform/iphone/Crosswalk.xcodeproj/project.pbxproj +368 -0
  222. data/libs/crosswalk/ext/platform/iphone/Crosswalk_Prefix.pch +7 -0
  223. data/libs/crosswalk/ext/platform/iphone/Rakefile +73 -0
  224. data/libs/crosswalk/ext/platform/iphone/impl/Crosswalk.h +14 -0
  225. data/libs/crosswalk/ext/platform/iphone/impl/Crosswalk.m +24 -0
  226. data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkFactorySingleton.m +16 -0
  227. data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkSetup.m +9 -0
  228. data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkSingleton.h +17 -0
  229. data/libs/crosswalk/ext/platform/iphone/impl/CrosswalkSingleton.m +23 -0
  230. data/libs/crosswalk/ext/platform/iphone/impl/readme.txt +7 -0
  231. data/libs/crosswalk/ext/platform/qt/Crosswalk.pro +66 -0
  232. data/libs/crosswalk/ext/platform/qt/Rakefile +35 -0
  233. data/libs/crosswalk/ext/platform/qt/src/Crosswalk_impl.cpp +77 -0
  234. data/libs/crosswalk/ext/platform/wm/Crosswalk.sln +52 -0
  235. data/libs/crosswalk/ext/platform/wm/Crosswalk.vcproj +714 -0
  236. data/libs/crosswalk/ext/platform/wm/Crosswalk.vsprops +15 -0
  237. data/libs/crosswalk/ext/platform/wm/src/Crosswalk_impl.cpp +77 -0
  238. data/libs/crosswalk/ext/platform/wp8/Crosswalk.props +18 -0
  239. data/libs/crosswalk/ext/platform/wp8/Crosswalk.vcxproj +170 -0
  240. data/libs/crosswalk/ext/platform/wp8/Crosswalk.vcxproj.filters +50 -0
  241. data/libs/crosswalk/ext/platform/wp8/CrosswalkImpl.csproj +119 -0
  242. data/libs/crosswalk/ext/platform/wp8/CrosswalkImpl.props +8 -0
  243. data/libs/crosswalk/ext/platform/wp8/CrosswalkImpl.targets +7 -0
  244. data/libs/crosswalk/ext/platform/wp8/CrosswalkLib.props +18 -0
  245. data/libs/crosswalk/ext/platform/wp8/CrosswalkLib.vcxproj +185 -0
  246. data/libs/crosswalk/ext/platform/wp8/CrosswalkLib.vcxproj.filters +58 -0
  247. data/libs/crosswalk/ext/platform/wp8/src/Crosswalk_impl.cpp +76 -0
  248. data/libs/crosswalk/ext/platform/wp8/src/Crosswalk_impl.cs +69 -0
  249. data/libs/crosswalk/ext/platform/wp8/src/Properties/AssemblyInfo.cs +37 -0
  250. data/libs/enterprise-barcode/ext.yml +13 -0
  251. data/libs/enterprise-barcode/ext/barcode.xml +2144 -0
  252. data/libs/enterprise-barcode/ext/build +17 -0
  253. data/libs/enterprise-barcode/ext/build.bat +29 -0
  254. data/libs/enterprise-barcode/ext/platform/android/AndroidManifest.xml +31 -0
  255. data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/AUTHORS +58 -0
  256. data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/CHANGES +266 -0
  257. data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/COPYING +201 -0
  258. data/libs/enterprise-barcode/ext/platform/android/ZXing_Info/README +11 -0
  259. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable-hdpi/cancel_icon.png +0 -0
  260. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable-hdpi/ok_icon.png +0 -0
  261. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable-hdpi/retake_icon.png +0 -0
  262. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable/cancel_icon.png +0 -0
  263. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable/ok_icon.png +0 -0
  264. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/drawable/retake_icon.png +0 -0
  265. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/layout/capture.xml +122 -0
  266. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/raw/beep.ogg +0 -0
  267. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/values/attrs.xml +20 -0
  268. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/values/colors.xml +42 -0
  269. data/libs/enterprise-barcode/ext/platform/android/additional_files/res/values/ids.xml +31 -0
  270. data/libs/enterprise-barcode/ext/platform/android/adds/lib/armeabi/liballbarcode.a +0 -0
  271. data/libs/enterprise-barcode/ext/platform/android/adds/lib/x86/liballbarcode.a +0 -0
  272. data/libs/enterprise-barcode/ext/platform/android/allbarcode.jar +0 -0
  273. data/libs/enterprise-barcode/ext/platform/iphone/Barcode.xcodeproj/project.pbxproj +524 -0
  274. data/libs/enterprise-barcode/ext/platform/iphone/Barcode_Prefix.pch +7 -0
  275. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeCallbackHelper.h +27 -0
  276. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeCallbackHelper.mm +231 -0
  277. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewController.h +95 -0
  278. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewController.m +1017 -0
  279. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewFactory.h +7 -0
  280. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewFactory.mm +58 -0
  281. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewFactoryRegister.mm +18 -0
  282. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewManager.h +16 -0
  283. data/libs/enterprise-barcode/ext/platform/iphone/Classes/BarcodeViewManager.mm +32 -0
  284. data/libs/enterprise-barcode/ext/platform/iphone/Classes/ImageProvider.cpp +25 -0
  285. data/libs/enterprise-barcode/ext/platform/iphone/Classes/ImageProvider.h +15 -0
  286. data/libs/enterprise-barcode/ext/platform/iphone/Classes/ImageProvider.mm +159 -0
  287. data/libs/enterprise-barcode/ext/platform/iphone/Classes/barcode.m +123 -0
  288. data/libs/enterprise-barcode/ext/platform/iphone/Rakefile +69 -0
  289. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/COPYING +27 -0
  290. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCameraSimulator.h +45 -0
  291. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCaptureReader.h +111 -0
  292. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarHelpController.h +60 -0
  293. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImage.h +69 -0
  294. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImageScanner.h +51 -0
  295. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderController.h +142 -0
  296. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderView.h +135 -0
  297. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderViewController.h +130 -0
  298. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSDK.h +34 -0
  299. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSymbol.h +71 -0
  300. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar.h +1497 -0
  301. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Decoder.h +202 -0
  302. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Exception.h +187 -0
  303. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Image.h +321 -0
  304. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/ImageScanner.h +130 -0
  305. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Processor.h +223 -0
  306. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Scanner.h +162 -0
  307. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Symbol.h +528 -0
  308. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Video.h +170 -0
  309. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Window.h +136 -0
  310. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/LICENSE +504 -0
  311. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/README +59 -0
  312. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-back.png +0 -0
  313. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-help.html +88 -0
  314. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-helpicons.png +0 -0
  315. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/Resources/zbar-samples.png +0 -0
  316. data/libs/enterprise-barcode/ext/platform/iphone/ZBarSDK/libzbar.a +0 -0
  317. data/libs/enterprise-barcode/ext/platform/iphone/impl/Barcode.h +21 -0
  318. data/libs/enterprise-barcode/ext/platform/iphone/impl/Barcode.m +132 -0
  319. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeFactory.h +10 -0
  320. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeFactory.m +16 -0
  321. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeFactorySingleton.m +16 -0
  322. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeSetup.m +8 -0
  323. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeSingleton.h +17 -0
  324. data/libs/enterprise-barcode/ext/platform/iphone/impl/BarcodeSingleton.m +22 -0
  325. data/libs/enterprise-barcode/ext/platform/iphone/impl/readme.txt +7 -0
  326. data/libs/enterprise-barcode/ext/platform/wm/Barcode.sln +44 -0
  327. data/libs/enterprise-barcode/ext/platform/wm/Barcode.vcproj +836 -0
  328. data/libs/enterprise-barcode/ext/platform/wm/Barcode.vsprops +15 -0
  329. data/libs/enterprise-barcode/ext/platform/wm/readme.txt +0 -0
  330. data/libs/enterprise-barcode/ext/platform/wm/src/Barcode_impl.cpp +376 -0
  331. data/libs/enterprise-barcode/ext/platform/wm/src/DecodeNotifier.cpp +173 -0
  332. data/libs/enterprise-barcode/ext/platform/wm/src/DecodeNotifier.h +149 -0
  333. data/libs/enterprise-barcode/ext/platform/wm/src/EMDKInterfaceAbstraction.cpp +476 -0
  334. data/libs/enterprise-barcode/ext/platform/wm/src/GetDecoderProperties.cpp +1195 -0
  335. data/libs/enterprise-barcode/ext/platform/wm/src/GetScannerProperties.cpp +553 -0
  336. data/libs/enterprise-barcode/ext/platform/wm/src/KeyInjector.cpp +177 -0
  337. data/libs/enterprise-barcode/ext/platform/wm/src/KeyInjector.h +40 -0
  338. data/libs/enterprise-barcode/ext/platform/wm/src/NotificationLoader.cpp +76 -0
  339. data/libs/enterprise-barcode/ext/platform/wm/src/NotificationLoader.h +44 -0
  340. data/libs/enterprise-barcode/ext/platform/wm/src/RSM.cpp +1211 -0
  341. data/libs/enterprise-barcode/ext/platform/wm/src/Scanner.cpp +2609 -0
  342. data/libs/enterprise-barcode/ext/platform/wm/src/Scanner.h +1099 -0
  343. data/libs/enterprise-barcode/ext/platform/wm/src/ScannerDefines.h +322 -0
  344. data/libs/enterprise-barcode/ext/platform/wm/src/SetDecoderProperties.cpp +2106 -0
  345. data/libs/enterprise-barcode/ext/platform/wm/src/SetScannerProperties.cpp +1060 -0
  346. data/libs/enterprise-barcode/ext/platform/wm/src/Utilities.cpp +184 -0
  347. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeImpl.csproj +119 -0
  348. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeImpl.props +8 -0
  349. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeImpl.targets +35 -0
  350. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeLib.props +18 -0
  351. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeLib.vcxproj +185 -0
  352. data/libs/enterprise-barcode/ext/platform/wp8/BarcodeLib.vcxproj.filters +58 -0
  353. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.Graphics.Imaging.dll +0 -0
  354. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.Graphics.Imaging.winmd +0 -0
  355. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.Graphics.Imaging.xml +4813 -0
  356. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.InteropServices.WindowsRuntime.dll +0 -0
  357. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.InteropServices.WindowsRuntime.winmd +0 -0
  358. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/Nokia.InteropServices.WindowsRuntime.xml +41 -0
  359. data/libs/enterprise-barcode/ext/platform/wp8/lib/ARM/OpticalReaderLib.dll +0 -0
  360. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib.XML +68 -0
  361. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib.dll +0 -0
  362. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/BarcodeReaderLib.csproj +120 -0
  363. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/BarcodeReaderLib.sln +34 -0
  364. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/CameraNavigatePage.xaml +32 -0
  365. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/CameraNavigatePage.xaml.cs +235 -0
  366. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/OpticalReaderTask.cs +182 -0
  367. data/libs/enterprise-barcode/ext/platform/wp8/lib/BarcodeReaderLib/Properties/AssemblyInfo.cs +37 -0
  368. data/libs/enterprise-barcode/ext/platform/wp8/lib/Nokia.Graphics.Imaging.Managed.dll +0 -0
  369. data/libs/enterprise-barcode/ext/platform/wp8/lib/Nokia.Graphics.Imaging.Managed.xml +341 -0
  370. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.Graphics.Imaging.dll +0 -0
  371. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.Graphics.Imaging.winmd +0 -0
  372. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.Graphics.Imaging.xml +4813 -0
  373. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.InteropServices.WindowsRuntime.dll +0 -0
  374. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.InteropServices.WindowsRuntime.winmd +0 -0
  375. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/Nokia.InteropServices.WindowsRuntime.xml +41 -0
  376. data/libs/enterprise-barcode/ext/platform/wp8/lib/x86/OpticalReaderLib.dll +0 -0
  377. data/libs/enterprise-barcode/ext/platform/wp8/lib/zxing.wp8.0.XML +10324 -0
  378. data/libs/enterprise-barcode/ext/platform/wp8/lib/zxing.wp8.0.dll +0 -0
  379. data/libs/enterprise-barcode/ext/platform/wp8/src/Barcode_impl.cs +630 -0
  380. data/libs/enterprise-barcode/ext/platform/wp8/src/Properties/AssemblyInfo.cs +37 -0
  381. data/libs/enterprise-barcode/public/api/generated/Rho.Barcode.js +772 -0
  382. data/libs/ie/rhobrowser.dll +0 -0
  383. data/libs/nodejs.rb +2 -0
  384. data/libs/nodejs/ext.yml +25 -0
  385. data/libs/nodejs/ext/Nodejs.xml +37 -0
  386. data/libs/nodejs/ext/build +19 -0
  387. data/libs/nodejs/ext/build.bat +29 -0
  388. data/libs/nodejs/ext/platform/android/Rakefile +161 -0
  389. data/libs/nodejs/ext/platform/android/ext_native.files +8 -0
  390. data/libs/nodejs/ext/platform/android/jxCore/jx.h +134 -0
  391. data/libs/nodejs/ext/platform/android/jxCore/jx_result.h +221 -0
  392. data/libs/nodejs/ext/platform/android/jxCore/libcares_arm.a +0 -0
  393. data/libs/nodejs/ext/platform/android/jxCore/libcares_ia32.a +0 -0
  394. data/libs/nodejs/ext/platform/android/jxCore/libcares_x64.a +0 -0
  395. data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_arm.a +0 -0
  396. data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_ia32.a +0 -0
  397. data/libs/nodejs/ext/platform/android/jxCore/libchrome_zlib_x64.a +0 -0
  398. data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_arm.a +0 -0
  399. data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_ia32.a +0 -0
  400. data/libs/nodejs/ext/platform/android/jxCore/libhttp_parser_x64.a +0 -0
  401. data/libs/nodejs/ext/platform/android/jxCore/libjx_arm.a +0 -0
  402. data/libs/nodejs/ext/platform/android/jxCore/libjx_ia32.a +0 -0
  403. data/libs/nodejs/ext/platform/android/jxCore/libjx_x64.a +0 -0
  404. data/libs/nodejs/ext/platform/android/jxCore/libopenssl_arm.a +0 -0
  405. data/libs/nodejs/ext/platform/android/jxCore/libopenssl_ia32.a +0 -0
  406. data/libs/nodejs/ext/platform/android/jxCore/libopenssl_x64.a +0 -0
  407. data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_arm.a +0 -0
  408. data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_ia32.a +0 -0
  409. data/libs/nodejs/ext/platform/android/jxCore/libsqlite3_x64.a +0 -0
  410. data/libs/nodejs/ext/platform/android/jxCore/libuv_arm.a +0 -0
  411. data/libs/nodejs/ext/platform/android/jxCore/libuv_ia32.a +0 -0
  412. data/libs/nodejs/ext/platform/android/jxCore/libuv_x64.a +0 -0
  413. data/libs/nodejs/ext/platform/android/jxCore/libv8_base_arm.a +0 -0
  414. data/libs/nodejs/ext/platform/android/jxCore/libv8_base_ia32.a +0 -0
  415. data/libs/nodejs/ext/platform/android/jxCore/libv8_base_x64.a +0 -0
  416. data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_arm.a +0 -0
  417. data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_ia32.a +0 -0
  418. data/libs/nodejs/ext/platform/android/jxCore/libv8_nosnapshot_x64.a +0 -0
  419. data/libs/nodejs/ext/platform/iphone/Nodejs.xcodeproj/project.pbxproj +350 -0
  420. data/libs/nodejs/ext/platform/iphone/Nodejs_Prefix.pch +7 -0
  421. data/libs/nodejs/ext/platform/iphone/Rakefile +73 -0
  422. data/libs/nodejs/ext/platform/iphone/jxCore/jx.h +134 -0
  423. data/libs/nodejs/ext/platform/iphone/jxCore/jx_result.h +221 -0
  424. data/libs/nodejs/ext/platform/iphone/jxCore/libcares.a +0 -0
  425. data/libs/nodejs/ext/platform/iphone/jxCore/libchrome_zlib.a +0 -0
  426. data/libs/nodejs/ext/platform/iphone/jxCore/libhttp_parser.a +0 -0
  427. data/libs/nodejs/ext/platform/iphone/jxCore/libjx.a +0 -0
  428. data/libs/nodejs/ext/platform/iphone/jxCore/libmozjs.a +0 -0
  429. data/libs/nodejs/ext/platform/iphone/jxCore/libopenssl.a +0 -0
  430. data/libs/nodejs/ext/platform/iphone/jxCore/libsqlite3.a +0 -0
  431. data/libs/nodejs/ext/platform/iphone/jxCore/libuv.a +0 -0
  432. data/libs/nodejs/ext/shared/jxcore/jx.h +134 -0
  433. data/libs/nodejs/ext/shared/jxcore/jx_result.h +221 -0
  434. data/libs/nodejs/ext/shared/jxcoretau.cpp +454 -0
  435. data/libs/nodejs/ext/shared/jxcoretau.h +20 -0
  436. data/libs/nodejs/ext/shared/nodejs_impl.cpp +106 -0
  437. data/libs/nodejs/nodejs.rb +2 -0
  438. data/libs/openssl-edge.rb +2 -0
  439. data/libs/openssl-edge/ext.yml +4 -0
  440. data/libs/openssl-edge/ext/Rakefile +145 -0
  441. data/libs/openssl-edge/ext/android/Rakefile +107 -0
  442. data/libs/openssl-edge/ext/android/ext_native.files +32 -0
  443. data/libs/openssl-edge/ext/android/extconf.h +91 -0
  444. data/libs/openssl-edge/ext/build +12 -0
  445. data/libs/openssl-edge/ext/build.bat +5 -0
  446. data/libs/openssl-edge/ext/extconf.rb +141 -0
  447. data/libs/openssl-edge/ext/openssl.pro +109 -0
  448. data/libs/openssl-edge/ext/openssl.sln +52 -0
  449. data/libs/openssl-edge/ext/openssl.vcproj +1010 -0
  450. data/libs/openssl-edge/ext/openssl_missing.c +1163 -0
  451. data/libs/openssl-edge/ext/openssl_missing.h +537 -0
  452. data/libs/openssl-edge/ext/ossl.c +1203 -0
  453. data/libs/openssl-edge/ext/ossl.h +242 -0
  454. data/libs/openssl-edge/ext/ossl_asn1.c +2008 -0
  455. data/libs/openssl-edge/ext/ossl_asn1.h +66 -0
  456. data/libs/openssl-edge/ext/ossl_bio.c +118 -0
  457. data/libs/openssl-edge/ext/ossl_bio.h +19 -0
  458. data/libs/openssl-edge/ext/ossl_bn.c +1153 -0
  459. data/libs/openssl-edge/ext/ossl_bn.h +23 -0
  460. data/libs/openssl-edge/ext/ossl_cipher.c +1085 -0
  461. data/libs/openssl-edge/ext/ossl_cipher.h +20 -0
  462. data/libs/openssl-edge/ext/ossl_config.c +89 -0
  463. data/libs/openssl-edge/ext/ossl_config.h +19 -0
  464. data/libs/openssl-edge/ext/ossl_digest.c +453 -0
  465. data/libs/openssl-edge/ext/ossl_digest.h +20 -0
  466. data/libs/openssl-edge/ext/ossl_engine.c +580 -0
  467. data/libs/openssl-edge/ext/ossl_engine.h +19 -0
  468. data/libs/openssl-edge/ext/ossl_hmac.c +398 -0
  469. data/libs/openssl-edge/ext/ossl_hmac.h +18 -0
  470. data/libs/openssl-edge/ext/ossl_ns_spki.c +406 -0
  471. data/libs/openssl-edge/ext/ossl_ns_spki.h +19 -0
  472. data/libs/openssl-edge/ext/ossl_ocsp.c +2013 -0
  473. data/libs/openssl-edge/ext/ossl_ocsp.h +23 -0
  474. data/libs/openssl-edge/ext/ossl_pkcs12.c +261 -0
  475. data/libs/openssl-edge/ext/ossl_pkcs12.h +13 -0
  476. data/libs/openssl-edge/ext/ossl_pkcs5.c +180 -0
  477. data/libs/openssl-edge/ext/ossl_pkcs5.h +6 -0
  478. data/libs/openssl-edge/ext/ossl_pkcs7.c +1157 -0
  479. data/libs/openssl-edge/ext/ossl_pkcs7.h +20 -0
  480. data/libs/openssl-edge/ext/ossl_pkey.c +469 -0
  481. data/libs/openssl-edge/ext/ossl_pkey.h +245 -0
  482. data/libs/openssl-edge/ext/ossl_pkey_dh.c +650 -0
  483. data/libs/openssl-edge/ext/ossl_pkey_dsa.c +672 -0
  484. data/libs/openssl-edge/ext/ossl_pkey_ec.c +1806 -0
  485. data/libs/openssl-edge/ext/ossl_pkey_rsa.c +768 -0
  486. data/libs/openssl-edge/ext/ossl_rand.c +238 -0
  487. data/libs/openssl-edge/ext/ossl_rand.h +18 -0
  488. data/libs/openssl-edge/ext/ossl_ssl.c +2724 -0
  489. data/libs/openssl-edge/ext/ossl_ssl.h +41 -0
  490. data/libs/openssl-edge/ext/ossl_ssl_session.c +352 -0
  491. data/libs/openssl-edge/ext/ossl_version.h +15 -0
  492. data/libs/openssl-edge/ext/ossl_x509.c +186 -0
  493. data/libs/openssl-edge/ext/ossl_x509.h +119 -0
  494. data/libs/openssl-edge/ext/ossl_x509attr.c +328 -0
  495. data/libs/openssl-edge/ext/ossl_x509cert.c +863 -0
  496. data/libs/openssl-edge/ext/ossl_x509crl.c +565 -0
  497. data/libs/openssl-edge/ext/ossl_x509ext.c +480 -0
  498. data/libs/openssl-edge/ext/ossl_x509name.c +547 -0
  499. data/libs/openssl-edge/ext/ossl_x509req.c +492 -0
  500. data/libs/openssl-edge/ext/ossl_x509revoked.c +279 -0
  501. data/libs/openssl-edge/ext/ossl_x509store.c +846 -0
  502. data/libs/openssl-edge/ext/ruby_missing.h +32 -0
  503. data/libs/openssl-edge/openssl-edge.rb +2 -0
  504. data/libs/openssl-edge/openssl.rb +24 -0
  505. data/libs/openssl-edge/openssl/bn.rb +35 -0
  506. data/libs/openssl-edge/openssl/buffering.rb +341 -0
  507. data/libs/openssl-edge/openssl/cipher.rb +65 -0
  508. data/libs/openssl-edge/openssl/digest.rb +61 -0
  509. data/libs/openssl-edge/openssl/ssl-internal.rb +180 -0
  510. data/libs/openssl-edge/openssl/ssl.rb +1 -0
  511. data/libs/openssl-edge/openssl/x509-internal.rb +153 -0
  512. data/libs/openssl-edge/openssl/x509.rb +1 -0
  513. data/libs/openssl.so-edge.rb +2 -0
  514. data/libs/openssl.so-edge/ext.yml +8 -0
  515. data/libs/openssl.so-edge/ext/Rakefile +140 -0
  516. data/libs/openssl.so-edge/ext/android/armeabi/libcrypto.a +0 -0
  517. data/libs/openssl.so-edge/ext/android/armeabi/libssl.a +0 -0
  518. data/libs/openssl.so-edge/ext/android/x86/libcrypto.a +0 -0
  519. data/libs/openssl.so-edge/ext/android/x86/libssl.a +0 -0
  520. data/libs/openssl.so-edge/ext/build +12 -0
  521. data/libs/openssl.so-edge/ext/build.bat +1 -0
  522. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/dh/dh_locl.h +56 -0
  523. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/dsa/dsa_locl.h +76 -0
  524. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/evp/evp_locl.h +66 -0
  525. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/hmac/hmac_lcl.h +33 -0
  526. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/asn1_int.h +94 -0
  527. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/async.h +14 -0
  528. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_conf.h +28 -0
  529. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_dh.h +17 -0
  530. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_int.h +82 -0
  531. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/bn_srp.h +32 -0
  532. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/chacha.h +49 -0
  533. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/cryptlib.h +81 -0
  534. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/cryptlib_int.h +31 -0
  535. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/dso_conf.h +16 -0
  536. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/engine.h +20 -0
  537. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/err_int.h +17 -0
  538. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/evp_int.h +382 -0
  539. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/md32_common.h +383 -0
  540. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/objects.h +12 -0
  541. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/poly1305.h +19 -0
  542. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/rand.h +20 -0
  543. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/include/internal/x509_int.h +267 -0
  544. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/ocsp/ocsp_lcl.h +216 -0
  545. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/rsa/rsa_locl.h +96 -0
  546. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/crypto/x509/x509_lcl.h +142 -0
  547. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/e_os.h +520 -0
  548. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/bio.h +26 -0
  549. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/comp.h +12 -0
  550. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/conf.h +32 -0
  551. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/constant_time_locl.h +185 -0
  552. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/dane.h +103 -0
  553. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/dso.h +216 -0
  554. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/err.h +15 -0
  555. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/numbers.h +68 -0
  556. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/o_dir.h +63 -0
  557. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/o_str.h +17 -0
  558. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/internal/thread_once.h +42 -0
  559. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/__DECC_INCLUDE_EPILOGUE.H +16 -0
  560. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/__DECC_INCLUDE_PROLOGUE.H +20 -0
  561. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/aes.h +92 -0
  562. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/asn1.h +1096 -0
  563. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/asn1_mac.h +10 -0
  564. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/asn1t.h +924 -0
  565. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/async.h +98 -0
  566. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/bio.h +854 -0
  567. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/blowfish.h +61 -0
  568. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/bn.h +575 -0
  569. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/buffer.h +76 -0
  570. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/camellia.h +83 -0
  571. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/cast.h +53 -0
  572. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/cmac.h +41 -0
  573. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/cms.h +512 -0
  574. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/comp.h +72 -0
  575. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/conf.h +216 -0
  576. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/conf_api.h +40 -0
  577. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/crypto.h +463 -0
  578. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ct.h +518 -0
  579. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/des.h +174 -0
  580. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/dh.h +343 -0
  581. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/dsa.h +282 -0
  582. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/dtls1.h +56 -0
  583. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/e_os2.h +311 -0
  584. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ebcdic.h +33 -0
  585. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ec.h +1581 -0
  586. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ecdh.h +10 -0
  587. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ecdsa.h +10 -0
  588. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/engine.h +842 -0
  589. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/err.h +259 -0
  590. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/evp.h +1586 -0
  591. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/hmac.h +49 -0
  592. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/idea.h +64 -0
  593. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/kdf.h +75 -0
  594. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/lhash.h +204 -0
  595. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/md2.h +44 -0
  596. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/md4.h +51 -0
  597. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/md5.h +50 -0
  598. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/mdc2.h +42 -0
  599. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/modes.h +203 -0
  600. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/obj_mac.h +4577 -0
  601. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/objects.h +1097 -0
  602. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ocsp.h +409 -0
  603. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/opensslconf.h +169 -0
  604. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/opensslconf.h.in +141 -0
  605. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/opensslv.h +105 -0
  606. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ossl_typ.h +190 -0
  607. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pem.h +501 -0
  608. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pem2.h +20 -0
  609. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pkcs12.h +282 -0
  610. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/pkcs7.h +404 -0
  611. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rand.h +89 -0
  612. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rc2.h +51 -0
  613. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rc4.h +36 -0
  614. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rc5.h +63 -0
  615. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ripemd.h +47 -0
  616. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/rsa.h +588 -0
  617. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/safestack.h +164 -0
  618. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/seed.h +98 -0
  619. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/sha.h +119 -0
  620. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/srp.h +131 -0
  621. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/srtp.h +50 -0
  622. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ssl.h +2527 -0
  623. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ssl2.h +24 -0
  624. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ssl3.h +307 -0
  625. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/stack.h +78 -0
  626. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/symhacks.h +52 -0
  627. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/tls1.h +972 -0
  628. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ts.h +643 -0
  629. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/txt_db.h +57 -0
  630. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/ui.h +368 -0
  631. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/whrlpool.h +48 -0
  632. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509.h +1123 -0
  633. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509_vfy.h +539 -0
  634. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/openssl/x509v3.h +1005 -0
  635. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/packet_locl.h +555 -0
  636. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/record/record.h +240 -0
  637. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/record/record_locl.h +114 -0
  638. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/ssl_locl.h +2127 -0
  639. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/statem/statem.h +123 -0
  640. data/libs/openssl.so-edge/ext/openssl-1-1-0-stable/include/ssl/statem/statem_locl.h +124 -0
  641. data/libs/openssl.so-edge/openssl.so.rb +2 -0
  642. data/libs/webkit.rb +2 -0
  643. data/libs/webkit/ext.yml +4 -0
  644. data/libs/webkit/ext/build +12 -0
  645. data/libs/webkit/ext/build.bat +7 -0
  646. data/libs/webkit/ext/wm/Rakefile +61 -0
  647. data/libs/webkit/ext/wm/RhoMsgs.cpp +17 -0
  648. data/libs/webkit/ext/wm/RhoMsgs.h +14 -0
  649. data/libs/webkit/ext/wm/RhoWKBrowserEngine.cpp +736 -0
  650. data/libs/webkit/ext/wm/RhoWKBrowserEngine.h +105 -0
  651. data/libs/webkit/ext/wm/lib/npapi/rhobridge.dll +0 -0
  652. data/libs/webkit/ext/wm/lib/rhoengine_defs.h +80 -0
  653. data/libs/webkit/ext/wm/lib/rhowebkit.dll +0 -0
  654. data/libs/webkit/ext/wm/webkit.sln +36 -0
  655. data/libs/webkit/ext/wm/webkit.suo +0 -0
  656. data/libs/webkit/ext/wm/webkit.vcproj +800 -0
  657. data/libs/webkit/ext/wm/webkit.vsprops +20 -0
  658. data/libs/webkit/webkit.rb +2 -0
  659. data/rho-tau-extensions.gemspec +23 -0
  660. data/version +1 -0
  661. metadata +705 -0
@@ -0,0 +1,259 @@
1
+ /*
2
+ * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
3
+ *
4
+ * Licensed under the OpenSSL license (the "License"). You may not use
5
+ * this file except in compliance with the License. You can obtain a copy
6
+ * in the file LICENSE in the source distribution or at
7
+ * https://www.openssl.org/source/license.html
8
+ */
9
+
10
+ #ifndef HEADER_ERR_H
11
+ # define HEADER_ERR_H
12
+
13
+ # include <openssl/e_os2.h>
14
+
15
+ # ifndef OPENSSL_NO_STDIO
16
+ # include <stdio.h>
17
+ # include <stdlib.h>
18
+ # endif
19
+
20
+ # include <openssl/ossl_typ.h>
21
+ # include <openssl/bio.h>
22
+ # include <openssl/lhash.h>
23
+
24
+ #ifdef __cplusplus
25
+ extern "C" {
26
+ #endif
27
+
28
+ # ifndef OPENSSL_NO_ERR
29
+ # define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,d,e)
30
+ # else
31
+ # define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,NULL,0)
32
+ # endif
33
+
34
+ # include <errno.h>
35
+
36
+ # define ERR_TXT_MALLOCED 0x01
37
+ # define ERR_TXT_STRING 0x02
38
+
39
+ # define ERR_FLAG_MARK 0x01
40
+
41
+ # define ERR_NUM_ERRORS 16
42
+ typedef struct err_state_st {
43
+ int err_flags[ERR_NUM_ERRORS];
44
+ unsigned long err_buffer[ERR_NUM_ERRORS];
45
+ char *err_data[ERR_NUM_ERRORS];
46
+ int err_data_flags[ERR_NUM_ERRORS];
47
+ const char *err_file[ERR_NUM_ERRORS];
48
+ int err_line[ERR_NUM_ERRORS];
49
+ int top, bottom;
50
+ } ERR_STATE;
51
+
52
+ /* library */
53
+ # define ERR_LIB_NONE 1
54
+ # define ERR_LIB_SYS 2
55
+ # define ERR_LIB_BN 3
56
+ # define ERR_LIB_RSA 4
57
+ # define ERR_LIB_DH 5
58
+ # define ERR_LIB_EVP 6
59
+ # define ERR_LIB_BUF 7
60
+ # define ERR_LIB_OBJ 8
61
+ # define ERR_LIB_PEM 9
62
+ # define ERR_LIB_DSA 10
63
+ # define ERR_LIB_X509 11
64
+ /* #define ERR_LIB_METH 12 */
65
+ # define ERR_LIB_ASN1 13
66
+ # define ERR_LIB_CONF 14
67
+ # define ERR_LIB_CRYPTO 15
68
+ # define ERR_LIB_EC 16
69
+ # define ERR_LIB_SSL 20
70
+ /* #define ERR_LIB_SSL23 21 */
71
+ /* #define ERR_LIB_SSL2 22 */
72
+ /* #define ERR_LIB_SSL3 23 */
73
+ /* #define ERR_LIB_RSAREF 30 */
74
+ /* #define ERR_LIB_PROXY 31 */
75
+ # define ERR_LIB_BIO 32
76
+ # define ERR_LIB_PKCS7 33
77
+ # define ERR_LIB_X509V3 34
78
+ # define ERR_LIB_PKCS12 35
79
+ # define ERR_LIB_RAND 36
80
+ # define ERR_LIB_DSO 37
81
+ # define ERR_LIB_ENGINE 38
82
+ # define ERR_LIB_OCSP 39
83
+ # define ERR_LIB_UI 40
84
+ # define ERR_LIB_COMP 41
85
+ # define ERR_LIB_ECDSA 42
86
+ # define ERR_LIB_ECDH 43
87
+ # define ERR_LIB_STORE 44
88
+ # define ERR_LIB_FIPS 45
89
+ # define ERR_LIB_CMS 46
90
+ # define ERR_LIB_TS 47
91
+ # define ERR_LIB_HMAC 48
92
+ # define ERR_LIB_JPAKE 49
93
+ # define ERR_LIB_CT 50
94
+ # define ERR_LIB_ASYNC 51
95
+ # define ERR_LIB_KDF 52
96
+
97
+ # define ERR_LIB_USER 128
98
+
99
+ # define SYSerr(f,r) ERR_PUT_error(ERR_LIB_SYS,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
100
+ # define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
101
+ # define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
102
+ # define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
103
+ # define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
104
+ # define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
105
+ # define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
106
+ # define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
107
+ # define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
108
+ # define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
109
+ # define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
110
+ # define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
111
+ # define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
112
+ # define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
113
+ # define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
114
+ # define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
115
+ # define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
116
+ # define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
117
+ # define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
118
+ # define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
119
+ # define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
120
+ # define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
121
+ # define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
122
+ # define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
123
+ # define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
124
+ # define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
125
+ # define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
126
+ # define STOREerr(f,r) ERR_PUT_error(ERR_LIB_STORE,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
127
+ # define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
128
+ # define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
129
+ # define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
130
+ # define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
131
+ # define JPAKEerr(f,r) ERR_PUT_error(ERR_LIB_JPAKE,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
132
+ # define CTerr(f,r) ERR_PUT_error(ERR_LIB_CT,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
133
+ # define ASYNCerr(f,r) ERR_PUT_error(ERR_LIB_ASYNC,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
134
+ # define KDFerr(f,r) ERR_PUT_error(ERR_LIB_KDF,(f),(r),OPENSSL_FILE,OPENSSL_LINE)
135
+
136
+ # define ERR_PACK(l,f,r) ( \
137
+ (((unsigned int)(l) & 0x0FF) << 24L) | \
138
+ (((unsigned int)(f) & 0xFFF) << 12L) | \
139
+ (((unsigned int)(r) & 0xFFF) ) )
140
+ # define ERR_GET_LIB(l) (int)(((l) >> 24L) & 0x0FFL)
141
+ # define ERR_GET_FUNC(l) (int)(((l) >> 12L) & 0xFFFL)
142
+ # define ERR_GET_REASON(l) (int)( (l) & 0xFFFL)
143
+
144
+ /* OS functions */
145
+ # define SYS_F_FOPEN 1
146
+ # define SYS_F_CONNECT 2
147
+ # define SYS_F_GETSERVBYNAME 3
148
+ # define SYS_F_SOCKET 4
149
+ # define SYS_F_IOCTLSOCKET 5
150
+ # define SYS_F_BIND 6
151
+ # define SYS_F_LISTEN 7
152
+ # define SYS_F_ACCEPT 8
153
+ # define SYS_F_WSASTARTUP 9/* Winsock stuff */
154
+ # define SYS_F_OPENDIR 10
155
+ # define SYS_F_FREAD 11
156
+ # define SYS_F_GETADDRINFO 12
157
+ # define SYS_F_GETNAMEINFO 13
158
+ # define SYS_F_SETSOCKOPT 14
159
+ # define SYS_F_GETSOCKOPT 15
160
+ # define SYS_F_GETSOCKNAME 16
161
+ # define SYS_F_GETHOSTBYNAME 17
162
+
163
+ /* reasons */
164
+ # define ERR_R_SYS_LIB ERR_LIB_SYS/* 2 */
165
+ # define ERR_R_BN_LIB ERR_LIB_BN/* 3 */
166
+ # define ERR_R_RSA_LIB ERR_LIB_RSA/* 4 */
167
+ # define ERR_R_DH_LIB ERR_LIB_DH/* 5 */
168
+ # define ERR_R_EVP_LIB ERR_LIB_EVP/* 6 */
169
+ # define ERR_R_BUF_LIB ERR_LIB_BUF/* 7 */
170
+ # define ERR_R_OBJ_LIB ERR_LIB_OBJ/* 8 */
171
+ # define ERR_R_PEM_LIB ERR_LIB_PEM/* 9 */
172
+ # define ERR_R_DSA_LIB ERR_LIB_DSA/* 10 */
173
+ # define ERR_R_X509_LIB ERR_LIB_X509/* 11 */
174
+ # define ERR_R_ASN1_LIB ERR_LIB_ASN1/* 13 */
175
+ # define ERR_R_EC_LIB ERR_LIB_EC/* 16 */
176
+ # define ERR_R_BIO_LIB ERR_LIB_BIO/* 32 */
177
+ # define ERR_R_PKCS7_LIB ERR_LIB_PKCS7/* 33 */
178
+ # define ERR_R_X509V3_LIB ERR_LIB_X509V3/* 34 */
179
+ # define ERR_R_ENGINE_LIB ERR_LIB_ENGINE/* 38 */
180
+ # define ERR_R_ECDSA_LIB ERR_LIB_ECDSA/* 42 */
181
+
182
+ # define ERR_R_NESTED_ASN1_ERROR 58
183
+ # define ERR_R_MISSING_ASN1_EOS 63
184
+
185
+ /* fatal error */
186
+ # define ERR_R_FATAL 64
187
+ # define ERR_R_MALLOC_FAILURE (1|ERR_R_FATAL)
188
+ # define ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED (2|ERR_R_FATAL)
189
+ # define ERR_R_PASSED_NULL_PARAMETER (3|ERR_R_FATAL)
190
+ # define ERR_R_INTERNAL_ERROR (4|ERR_R_FATAL)
191
+ # define ERR_R_DISABLED (5|ERR_R_FATAL)
192
+ # define ERR_R_INIT_FAIL (6|ERR_R_FATAL)
193
+ # define ERR_R_PASSED_INVALID_ARGUMENT (7)
194
+
195
+ /*
196
+ * 99 is the maximum possible ERR_R_... code, higher values are reserved for
197
+ * the individual libraries
198
+ */
199
+
200
+ typedef struct ERR_string_data_st {
201
+ unsigned long error;
202
+ const char *string;
203
+ } ERR_STRING_DATA;
204
+
205
+ DEFINE_LHASH_OF(ERR_STRING_DATA);
206
+
207
+ void ERR_put_error(int lib, int func, int reason, const char *file, int line);
208
+ void ERR_set_error_data(char *data, int flags);
209
+
210
+ unsigned long ERR_get_error(void);
211
+ unsigned long ERR_get_error_line(const char **file, int *line);
212
+ unsigned long ERR_get_error_line_data(const char **file, int *line,
213
+ const char **data, int *flags);
214
+ unsigned long ERR_peek_error(void);
215
+ unsigned long ERR_peek_error_line(const char **file, int *line);
216
+ unsigned long ERR_peek_error_line_data(const char **file, int *line,
217
+ const char **data, int *flags);
218
+ unsigned long ERR_peek_last_error(void);
219
+ unsigned long ERR_peek_last_error_line(const char **file, int *line);
220
+ unsigned long ERR_peek_last_error_line_data(const char **file, int *line,
221
+ const char **data, int *flags);
222
+ void ERR_clear_error(void);
223
+ char *ERR_error_string(unsigned long e, char *buf);
224
+ void ERR_error_string_n(unsigned long e, char *buf, size_t len);
225
+ const char *ERR_lib_error_string(unsigned long e);
226
+ const char *ERR_func_error_string(unsigned long e);
227
+ const char *ERR_reason_error_string(unsigned long e);
228
+ void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void *u),
229
+ void *u);
230
+ # ifndef OPENSSL_NO_STDIO
231
+ void ERR_print_errors_fp(FILE *fp);
232
+ # endif
233
+ void ERR_print_errors(BIO *bp);
234
+ void ERR_add_error_data(int num, ...);
235
+ void ERR_add_error_vdata(int num, va_list args);
236
+ int ERR_load_strings(int lib, ERR_STRING_DATA str[]);
237
+ int ERR_unload_strings(int lib, ERR_STRING_DATA str[]);
238
+ int ERR_load_ERR_strings(void);
239
+
240
+ #if OPENSSL_API_COMPAT < 0x10100000L
241
+ # define ERR_load_crypto_strings() \
242
+ OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL)
243
+ # define ERR_free_strings() while(0) continue
244
+ #endif
245
+
246
+ DEPRECATEDIN_1_1_0(void ERR_remove_thread_state(void *))
247
+ DEPRECATEDIN_1_0_0(void ERR_remove_state(unsigned long pid))
248
+ ERR_STATE *ERR_get_state(void);
249
+
250
+ int ERR_get_next_error_library(void);
251
+
252
+ int ERR_set_mark(void);
253
+ int ERR_pop_to_mark(void);
254
+
255
+ #ifdef __cplusplus
256
+ }
257
+ #endif
258
+
259
+ #endif
@@ -0,0 +1,1586 @@
1
+ /*
2
+ * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
3
+ *
4
+ * Licensed under the OpenSSL license (the "License"). You may not use
5
+ * this file except in compliance with the License. You can obtain a copy
6
+ * in the file LICENSE in the source distribution or at
7
+ * https://www.openssl.org/source/license.html
8
+ */
9
+
10
+ #ifndef HEADER_ENVELOPE_H
11
+ # define HEADER_ENVELOPE_H
12
+
13
+ # include <openssl/opensslconf.h>
14
+ # include <openssl/ossl_typ.h>
15
+ # include <openssl/symhacks.h>
16
+ # include <openssl/bio.h>
17
+
18
+ # define EVP_MAX_MD_SIZE 64/* longest known is SHA512 */
19
+ # define EVP_MAX_KEY_LENGTH 64
20
+ # define EVP_MAX_IV_LENGTH 16
21
+ # define EVP_MAX_BLOCK_LENGTH 32
22
+
23
+ # define PKCS5_SALT_LEN 8
24
+ /* Default PKCS#5 iteration count */
25
+ # define PKCS5_DEFAULT_ITER 2048
26
+
27
+ # include <openssl/objects.h>
28
+
29
+ # define EVP_PK_RSA 0x0001
30
+ # define EVP_PK_DSA 0x0002
31
+ # define EVP_PK_DH 0x0004
32
+ # define EVP_PK_EC 0x0008
33
+ # define EVP_PKT_SIGN 0x0010
34
+ # define EVP_PKT_ENC 0x0020
35
+ # define EVP_PKT_EXCH 0x0040
36
+ # define EVP_PKS_RSA 0x0100
37
+ # define EVP_PKS_DSA 0x0200
38
+ # define EVP_PKS_EC 0x0400
39
+
40
+ # define EVP_PKEY_NONE NID_undef
41
+ # define EVP_PKEY_RSA NID_rsaEncryption
42
+ # define EVP_PKEY_RSA2 NID_rsa
43
+ # define EVP_PKEY_DSA NID_dsa
44
+ # define EVP_PKEY_DSA1 NID_dsa_2
45
+ # define EVP_PKEY_DSA2 NID_dsaWithSHA
46
+ # define EVP_PKEY_DSA3 NID_dsaWithSHA1
47
+ # define EVP_PKEY_DSA4 NID_dsaWithSHA1_2
48
+ # define EVP_PKEY_DH NID_dhKeyAgreement
49
+ # define EVP_PKEY_DHX NID_dhpublicnumber
50
+ # define EVP_PKEY_EC NID_X9_62_id_ecPublicKey
51
+ # define EVP_PKEY_HMAC NID_hmac
52
+ # define EVP_PKEY_CMAC NID_cmac
53
+ # define EVP_PKEY_TLS1_PRF NID_tls1_prf
54
+ # define EVP_PKEY_HKDF NID_hkdf
55
+
56
+ #ifdef __cplusplus
57
+ extern "C" {
58
+ #endif
59
+
60
+ # define EVP_PKEY_MO_SIGN 0x0001
61
+ # define EVP_PKEY_MO_VERIFY 0x0002
62
+ # define EVP_PKEY_MO_ENCRYPT 0x0004
63
+ # define EVP_PKEY_MO_DECRYPT 0x0008
64
+
65
+ # ifndef EVP_MD
66
+ EVP_MD *EVP_MD_meth_new(int md_type, int pkey_type);
67
+ EVP_MD *EVP_MD_meth_dup(const EVP_MD *md);
68
+ void EVP_MD_meth_free(EVP_MD *md);
69
+
70
+ int EVP_MD_meth_set_input_blocksize(EVP_MD *md, int blocksize);
71
+ int EVP_MD_meth_set_result_size(EVP_MD *md, int resultsize);
72
+ int EVP_MD_meth_set_app_datasize(EVP_MD *md, int datasize);
73
+ int EVP_MD_meth_set_flags(EVP_MD *md, unsigned long flags);
74
+ int EVP_MD_meth_set_init(EVP_MD *md, int (*init)(EVP_MD_CTX *ctx));
75
+ int EVP_MD_meth_set_update(EVP_MD *md, int (*update)(EVP_MD_CTX *ctx,
76
+ const void *data,
77
+ size_t count));
78
+ int EVP_MD_meth_set_final(EVP_MD *md, int (*final)(EVP_MD_CTX *ctx,
79
+ unsigned char *md));
80
+ int EVP_MD_meth_set_copy(EVP_MD *md, int (*copy)(EVP_MD_CTX *to,
81
+ const EVP_MD_CTX *from));
82
+ int EVP_MD_meth_set_cleanup(EVP_MD *md, int (*cleanup)(EVP_MD_CTX *ctx));
83
+ int EVP_MD_meth_set_ctrl(EVP_MD *md, int (*ctrl)(EVP_MD_CTX *ctx, int cmd,
84
+ int p1, void *p2));
85
+
86
+ int EVP_MD_meth_get_input_blocksize(const EVP_MD *md);
87
+ int EVP_MD_meth_get_result_size(const EVP_MD *md);
88
+ int EVP_MD_meth_get_app_datasize(const EVP_MD *md);
89
+ unsigned long EVP_MD_meth_get_flags(const EVP_MD *md);
90
+ int (*EVP_MD_meth_get_init(const EVP_MD *md))(EVP_MD_CTX *ctx);
91
+ int (*EVP_MD_meth_get_update(const EVP_MD *md))(EVP_MD_CTX *ctx,
92
+ const void *data,
93
+ size_t count);
94
+ int (*EVP_MD_meth_get_final(const EVP_MD *md))(EVP_MD_CTX *ctx,
95
+ unsigned char *md);
96
+ int (*EVP_MD_meth_get_copy(const EVP_MD *md))(EVP_MD_CTX *to,
97
+ const EVP_MD_CTX *from);
98
+ int (*EVP_MD_meth_get_cleanup(const EVP_MD *md))(EVP_MD_CTX *ctx);
99
+ int (*EVP_MD_meth_get_ctrl(const EVP_MD *md))(EVP_MD_CTX *ctx, int cmd,
100
+ int p1, void *p2);
101
+
102
+ /* digest can only handle a single block */
103
+ # define EVP_MD_FLAG_ONESHOT 0x0001
104
+
105
+ /* DigestAlgorithmIdentifier flags... */
106
+
107
+ # define EVP_MD_FLAG_DIGALGID_MASK 0x0018
108
+
109
+ /* NULL or absent parameter accepted. Use NULL */
110
+
111
+ # define EVP_MD_FLAG_DIGALGID_NULL 0x0000
112
+
113
+ /* NULL or absent parameter accepted. Use NULL for PKCS#1 otherwise absent */
114
+
115
+ # define EVP_MD_FLAG_DIGALGID_ABSENT 0x0008
116
+
117
+ /* Custom handling via ctrl */
118
+
119
+ # define EVP_MD_FLAG_DIGALGID_CUSTOM 0x0018
120
+
121
+ /* Note if suitable for use in FIPS mode */
122
+ # define EVP_MD_FLAG_FIPS 0x0400
123
+
124
+ /* Digest ctrls */
125
+
126
+ # define EVP_MD_CTRL_DIGALGID 0x1
127
+ # define EVP_MD_CTRL_MICALG 0x2
128
+
129
+ /* Minimum Algorithm specific ctrl value */
130
+
131
+ # define EVP_MD_CTRL_ALG_CTRL 0x1000
132
+
133
+ # endif /* !EVP_MD */
134
+
135
+ /* values for EVP_MD_CTX flags */
136
+
137
+ # define EVP_MD_CTX_FLAG_ONESHOT 0x0001/* digest update will be
138
+ * called once only */
139
+ # define EVP_MD_CTX_FLAG_CLEANED 0x0002/* context has already been
140
+ * cleaned */
141
+ # define EVP_MD_CTX_FLAG_REUSE 0x0004/* Don't free up ctx->md_data
142
+ * in EVP_MD_CTX_reset */
143
+ /*
144
+ * FIPS and pad options are ignored in 1.0.0, definitions are here so we
145
+ * don't accidentally reuse the values for other purposes.
146
+ */
147
+
148
+ # define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0x0008/* Allow use of non FIPS
149
+ * digest in FIPS mode */
150
+
151
+ /*
152
+ * The following PAD options are also currently ignored in 1.0.0, digest
153
+ * parameters are handled through EVP_DigestSign*() and EVP_DigestVerify*()
154
+ * instead.
155
+ */
156
+ # define EVP_MD_CTX_FLAG_PAD_MASK 0xF0/* RSA mode to use */
157
+ # define EVP_MD_CTX_FLAG_PAD_PKCS1 0x00/* PKCS#1 v1.5 mode */
158
+ # define EVP_MD_CTX_FLAG_PAD_X931 0x10/* X9.31 mode */
159
+ # define EVP_MD_CTX_FLAG_PAD_PSS 0x20/* PSS mode */
160
+
161
+ # define EVP_MD_CTX_FLAG_NO_INIT 0x0100/* Don't initialize md_data */
162
+ /*
163
+ * Some functions such as EVP_DigestSign only finalise copies of internal
164
+ * contexts so additional data can be included after the finalisation call.
165
+ * This is inefficient if this functionality is not required: it is disabled
166
+ * if the following flag is set.
167
+ */
168
+ # define EVP_MD_CTX_FLAG_FINALISE 0x0200
169
+
170
+ EVP_CIPHER *EVP_CIPHER_meth_new(int cipher_type, int block_size, int key_len);
171
+ EVP_CIPHER *EVP_CIPHER_meth_dup(const EVP_CIPHER *cipher);
172
+ void EVP_CIPHER_meth_free(EVP_CIPHER *cipher);
173
+
174
+ int EVP_CIPHER_meth_set_iv_length(EVP_CIPHER *cipher, int iv_len);
175
+ int EVP_CIPHER_meth_set_flags(EVP_CIPHER *cipher, unsigned long flags);
176
+ int EVP_CIPHER_meth_set_impl_ctx_size(EVP_CIPHER *cipher, int ctx_size);
177
+ int EVP_CIPHER_meth_set_init(EVP_CIPHER *cipher,
178
+ int (*init) (EVP_CIPHER_CTX *ctx,
179
+ const unsigned char *key,
180
+ const unsigned char *iv,
181
+ int enc));
182
+ int EVP_CIPHER_meth_set_do_cipher(EVP_CIPHER *cipher,
183
+ int (*do_cipher) (EVP_CIPHER_CTX *ctx,
184
+ unsigned char *out,
185
+ const unsigned char *in,
186
+ size_t inl));
187
+ int EVP_CIPHER_meth_set_cleanup(EVP_CIPHER *cipher,
188
+ int (*cleanup) (EVP_CIPHER_CTX *));
189
+ int EVP_CIPHER_meth_set_set_asn1_params(EVP_CIPHER *cipher,
190
+ int (*set_asn1_parameters) (EVP_CIPHER_CTX *,
191
+ ASN1_TYPE *));
192
+ int EVP_CIPHER_meth_set_get_asn1_params(EVP_CIPHER *cipher,
193
+ int (*get_asn1_parameters) (EVP_CIPHER_CTX *,
194
+ ASN1_TYPE *));
195
+ int EVP_CIPHER_meth_set_ctrl(EVP_CIPHER *cipher,
196
+ int (*ctrl) (EVP_CIPHER_CTX *, int type,
197
+ int arg, void *ptr));
198
+
199
+ int (*EVP_CIPHER_meth_get_init(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *ctx,
200
+ const unsigned char *key,
201
+ const unsigned char *iv,
202
+ int enc);
203
+ int (*EVP_CIPHER_meth_get_do_cipher(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *ctx,
204
+ unsigned char *out,
205
+ const unsigned char *in,
206
+ size_t inl);
207
+ int (*EVP_CIPHER_meth_get_cleanup(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *);
208
+ int (*EVP_CIPHER_meth_get_set_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *,
209
+ ASN1_TYPE *);
210
+ int (*EVP_CIPHER_meth_get_get_asn1_params(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *,
211
+ ASN1_TYPE *);
212
+ int (*EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher))(EVP_CIPHER_CTX *,
213
+ int type, int arg,
214
+ void *ptr);
215
+
216
+ /* Values for cipher flags */
217
+
218
+ /* Modes for ciphers */
219
+
220
+ # define EVP_CIPH_STREAM_CIPHER 0x0
221
+ # define EVP_CIPH_ECB_MODE 0x1
222
+ # define EVP_CIPH_CBC_MODE 0x2
223
+ # define EVP_CIPH_CFB_MODE 0x3
224
+ # define EVP_CIPH_OFB_MODE 0x4
225
+ # define EVP_CIPH_CTR_MODE 0x5
226
+ # define EVP_CIPH_GCM_MODE 0x6
227
+ # define EVP_CIPH_CCM_MODE 0x7
228
+ # define EVP_CIPH_XTS_MODE 0x10001
229
+ # define EVP_CIPH_WRAP_MODE 0x10002
230
+ # define EVP_CIPH_OCB_MODE 0x10003
231
+ # define EVP_CIPH_MODE 0xF0007
232
+ /* Set if variable length cipher */
233
+ # define EVP_CIPH_VARIABLE_LENGTH 0x8
234
+ /* Set if the iv handling should be done by the cipher itself */
235
+ # define EVP_CIPH_CUSTOM_IV 0x10
236
+ /* Set if the cipher's init() function should be called if key is NULL */
237
+ # define EVP_CIPH_ALWAYS_CALL_INIT 0x20
238
+ /* Call ctrl() to init cipher parameters */
239
+ # define EVP_CIPH_CTRL_INIT 0x40
240
+ /* Don't use standard key length function */
241
+ # define EVP_CIPH_CUSTOM_KEY_LENGTH 0x80
242
+ /* Don't use standard block padding */
243
+ # define EVP_CIPH_NO_PADDING 0x100
244
+ /* cipher handles random key generation */
245
+ # define EVP_CIPH_RAND_KEY 0x200
246
+ /* cipher has its own additional copying logic */
247
+ # define EVP_CIPH_CUSTOM_COPY 0x400
248
+ /* Allow use default ASN1 get/set iv */
249
+ # define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000
250
+ /* Buffer length in bits not bytes: CFB1 mode only */
251
+ # define EVP_CIPH_FLAG_LENGTH_BITS 0x2000
252
+ /* Note if suitable for use in FIPS mode */
253
+ # define EVP_CIPH_FLAG_FIPS 0x4000
254
+ /* Allow non FIPS cipher in FIPS mode */
255
+ # define EVP_CIPH_FLAG_NON_FIPS_ALLOW 0x8000
256
+ /*
257
+ * Cipher handles any and all padding logic as well as finalisation.
258
+ */
259
+ # define EVP_CIPH_FLAG_CUSTOM_CIPHER 0x100000
260
+ # define EVP_CIPH_FLAG_AEAD_CIPHER 0x200000
261
+ # define EVP_CIPH_FLAG_TLS1_1_MULTIBLOCK 0x400000
262
+ /* Cipher can handle pipeline operations */
263
+ # define EVP_CIPH_FLAG_PIPELINE 0X800000
264
+
265
+ /*
266
+ * Cipher context flag to indicate we can handle wrap mode: if allowed in
267
+ * older applications it could overflow buffers.
268
+ */
269
+
270
+ # define EVP_CIPHER_CTX_FLAG_WRAP_ALLOW 0x1
271
+
272
+ /* ctrl() values */
273
+
274
+ # define EVP_CTRL_INIT 0x0
275
+ # define EVP_CTRL_SET_KEY_LENGTH 0x1
276
+ # define EVP_CTRL_GET_RC2_KEY_BITS 0x2
277
+ # define EVP_CTRL_SET_RC2_KEY_BITS 0x3
278
+ # define EVP_CTRL_GET_RC5_ROUNDS 0x4
279
+ # define EVP_CTRL_SET_RC5_ROUNDS 0x5
280
+ # define EVP_CTRL_RAND_KEY 0x6
281
+ # define EVP_CTRL_PBE_PRF_NID 0x7
282
+ # define EVP_CTRL_COPY 0x8
283
+ # define EVP_CTRL_AEAD_SET_IVLEN 0x9
284
+ # define EVP_CTRL_AEAD_GET_TAG 0x10
285
+ # define EVP_CTRL_AEAD_SET_TAG 0x11
286
+ # define EVP_CTRL_AEAD_SET_IV_FIXED 0x12
287
+ # define EVP_CTRL_GCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN
288
+ # define EVP_CTRL_GCM_GET_TAG EVP_CTRL_AEAD_GET_TAG
289
+ # define EVP_CTRL_GCM_SET_TAG EVP_CTRL_AEAD_SET_TAG
290
+ # define EVP_CTRL_GCM_SET_IV_FIXED EVP_CTRL_AEAD_SET_IV_FIXED
291
+ # define EVP_CTRL_GCM_IV_GEN 0x13
292
+ # define EVP_CTRL_CCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN
293
+ # define EVP_CTRL_CCM_GET_TAG EVP_CTRL_AEAD_GET_TAG
294
+ # define EVP_CTRL_CCM_SET_TAG EVP_CTRL_AEAD_SET_TAG
295
+ # define EVP_CTRL_CCM_SET_IV_FIXED EVP_CTRL_AEAD_SET_IV_FIXED
296
+ # define EVP_CTRL_CCM_SET_L 0x14
297
+ # define EVP_CTRL_CCM_SET_MSGLEN 0x15
298
+ /*
299
+ * AEAD cipher deduces payload length and returns number of bytes required to
300
+ * store MAC and eventual padding. Subsequent call to EVP_Cipher even
301
+ * appends/verifies MAC.
302
+ */
303
+ # define EVP_CTRL_AEAD_TLS1_AAD 0x16
304
+ /* Used by composite AEAD ciphers, no-op in GCM, CCM... */
305
+ # define EVP_CTRL_AEAD_SET_MAC_KEY 0x17
306
+ /* Set the GCM invocation field, decrypt only */
307
+ # define EVP_CTRL_GCM_SET_IV_INV 0x18
308
+
309
+ # define EVP_CTRL_TLS1_1_MULTIBLOCK_AAD 0x19
310
+ # define EVP_CTRL_TLS1_1_MULTIBLOCK_ENCRYPT 0x1a
311
+ # define EVP_CTRL_TLS1_1_MULTIBLOCK_DECRYPT 0x1b
312
+ # define EVP_CTRL_TLS1_1_MULTIBLOCK_MAX_BUFSIZE 0x1c
313
+
314
+ # define EVP_CTRL_SSL3_MASTER_SECRET 0x1d
315
+
316
+ /* EVP_CTRL_SET_SBOX takes the char * specifying S-boxes */
317
+ # define EVP_CTRL_SET_SBOX 0x1e
318
+ /*
319
+ * EVP_CTRL_SBOX_USED takes a 'size_t' and 'char *', pointing at a
320
+ * pre-allocated buffer with specified size
321
+ */
322
+ # define EVP_CTRL_SBOX_USED 0x1f
323
+ /* EVP_CTRL_KEY_MESH takes 'size_t' number of bytes to mesh the key after,
324
+ * 0 switches meshing off
325
+ */
326
+ # define EVP_CTRL_KEY_MESH 0x20
327
+ /* EVP_CTRL_BLOCK_PADDING_MODE takes the padding mode */
328
+ # define EVP_CTRL_BLOCK_PADDING_MODE 0x21
329
+
330
+ /* Set the output buffers to use for a pipelined operation */
331
+ # define EVP_CTRL_SET_PIPELINE_OUTPUT_BUFS 0x22
332
+ /* Set the input buffers to use for a pipelined operation */
333
+ # define EVP_CTRL_SET_PIPELINE_INPUT_BUFS 0x23
334
+ /* Set the input buffer lengths to use for a pipelined operation */
335
+ # define EVP_CTRL_SET_PIPELINE_INPUT_LENS 0x24
336
+
337
+ /* Padding modes */
338
+ #define EVP_PADDING_PKCS7 1
339
+ #define EVP_PADDING_ISO7816_4 2
340
+ #define EVP_PADDING_ANSI923 3
341
+ #define EVP_PADDING_ISO10126 4
342
+ #define EVP_PADDING_ZERO 5
343
+
344
+ /* RFC 5246 defines additional data to be 13 bytes in length */
345
+ # define EVP_AEAD_TLS1_AAD_LEN 13
346
+
347
+ typedef struct {
348
+ unsigned char *out;
349
+ const unsigned char *inp;
350
+ size_t len;
351
+ unsigned int interleave;
352
+ } EVP_CTRL_TLS1_1_MULTIBLOCK_PARAM;
353
+
354
+ /* GCM TLS constants */
355
+ /* Length of fixed part of IV derived from PRF */
356
+ # define EVP_GCM_TLS_FIXED_IV_LEN 4
357
+ /* Length of explicit part of IV part of TLS records */
358
+ # define EVP_GCM_TLS_EXPLICIT_IV_LEN 8
359
+ /* Length of tag for TLS */
360
+ # define EVP_GCM_TLS_TAG_LEN 16
361
+
362
+ /* CCM TLS constants */
363
+ /* Length of fixed part of IV derived from PRF */
364
+ # define EVP_CCM_TLS_FIXED_IV_LEN 4
365
+ /* Length of explicit part of IV part of TLS records */
366
+ # define EVP_CCM_TLS_EXPLICIT_IV_LEN 8
367
+
368
+ typedef struct evp_cipher_info_st {
369
+ const EVP_CIPHER *cipher;
370
+ unsigned char iv[EVP_MAX_IV_LENGTH];
371
+ } EVP_CIPHER_INFO;
372
+
373
+
374
+ /* Password based encryption function */
375
+ typedef int (EVP_PBE_KEYGEN) (EVP_CIPHER_CTX *ctx, const char *pass,
376
+ int passlen, ASN1_TYPE *param,
377
+ const EVP_CIPHER *cipher, const EVP_MD *md,
378
+ int en_de);
379
+
380
+ # ifndef OPENSSL_NO_RSA
381
+ # define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
382
+ (char *)(rsa))
383
+ # endif
384
+
385
+ # ifndef OPENSSL_NO_DSA
386
+ # define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
387
+ (char *)(dsa))
388
+ # endif
389
+
390
+ # ifndef OPENSSL_NO_DH
391
+ # define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,\
392
+ (char *)(dh))
393
+ # endif
394
+
395
+ # ifndef OPENSSL_NO_EC
396
+ # define EVP_PKEY_assign_EC_KEY(pkey,eckey) EVP_PKEY_assign((pkey),EVP_PKEY_EC,\
397
+ (char *)(eckey))
398
+ # endif
399
+
400
+ /* Add some extra combinations */
401
+ # define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a))
402
+ # define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a))
403
+ # define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a))
404
+ # define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a))
405
+
406
+ int EVP_MD_type(const EVP_MD *md);
407
+ # define EVP_MD_nid(e) EVP_MD_type(e)
408
+ # define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_nid(e))
409
+ int EVP_MD_pkey_type(const EVP_MD *md);
410
+ int EVP_MD_size(const EVP_MD *md);
411
+ int EVP_MD_block_size(const EVP_MD *md);
412
+ unsigned long EVP_MD_flags(const EVP_MD *md);
413
+
414
+ const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx);
415
+ int (*EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx))(EVP_MD_CTX *ctx,
416
+ const void *data, size_t count);
417
+ void EVP_MD_CTX_set_update_fn(EVP_MD_CTX *ctx,
418
+ int (*update) (EVP_MD_CTX *ctx,
419
+ const void *data, size_t count));
420
+ # define EVP_MD_CTX_size(e) EVP_MD_size(EVP_MD_CTX_md(e))
421
+ # define EVP_MD_CTX_block_size(e) EVP_MD_block_size(EVP_MD_CTX_md(e))
422
+ # define EVP_MD_CTX_type(e) EVP_MD_type(EVP_MD_CTX_md(e))
423
+ EVP_PKEY_CTX *EVP_MD_CTX_pkey_ctx(const EVP_MD_CTX *ctx);
424
+ void *EVP_MD_CTX_md_data(const EVP_MD_CTX *ctx);
425
+
426
+ int EVP_CIPHER_nid(const EVP_CIPHER *cipher);
427
+ # define EVP_CIPHER_name(e) OBJ_nid2sn(EVP_CIPHER_nid(e))
428
+ int EVP_CIPHER_block_size(const EVP_CIPHER *cipher);
429
+ int EVP_CIPHER_impl_ctx_size(const EVP_CIPHER *cipher);
430
+ int EVP_CIPHER_key_length(const EVP_CIPHER *cipher);
431
+ int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher);
432
+ unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher);
433
+ # define EVP_CIPHER_mode(e) (EVP_CIPHER_flags(e) & EVP_CIPH_MODE)
434
+
435
+ const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx);
436
+ int EVP_CIPHER_CTX_encrypting(const EVP_CIPHER_CTX *ctx);
437
+ int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx);
438
+ int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx);
439
+ int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx);
440
+ int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx);
441
+ const unsigned char *EVP_CIPHER_CTX_iv(const EVP_CIPHER_CTX *ctx);
442
+ const unsigned char *EVP_CIPHER_CTX_original_iv(const EVP_CIPHER_CTX *ctx);
443
+ unsigned char *EVP_CIPHER_CTX_iv_noconst(EVP_CIPHER_CTX *ctx);
444
+ unsigned char *EVP_CIPHER_CTX_buf_noconst(EVP_CIPHER_CTX *ctx);
445
+ int EVP_CIPHER_CTX_num(const EVP_CIPHER_CTX *ctx);
446
+ void EVP_CIPHER_CTX_set_num(EVP_CIPHER_CTX *ctx, int num);
447
+ int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in);
448
+ void *EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx);
449
+ void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data);
450
+ void *EVP_CIPHER_CTX_get_cipher_data(const EVP_CIPHER_CTX *ctx);
451
+ void *EVP_CIPHER_CTX_set_cipher_data(EVP_CIPHER_CTX *ctx, void *cipher_data);
452
+ # define EVP_CIPHER_CTX_type(c) EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c))
453
+ # if OPENSSL_API_COMPAT < 0x10100000L
454
+ # define EVP_CIPHER_CTX_flags(c) EVP_CIPHER_flags(EVP_CIPHER_CTX_cipher(c))
455
+ # endif
456
+ # define EVP_CIPHER_CTX_mode(c) EVP_CIPHER_mode(EVP_CIPHER_CTX_cipher(c))
457
+
458
+ # define EVP_ENCODE_LENGTH(l) (((l+2)/3*4)+(l/48+1)*2+80)
459
+ # define EVP_DECODE_LENGTH(l) ((l+3)/4*3+80)
460
+
461
+ # define EVP_SignInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c)
462
+ # define EVP_SignInit(a,b) EVP_DigestInit(a,b)
463
+ # define EVP_SignUpdate(a,b,c) EVP_DigestUpdate(a,b,c)
464
+ # define EVP_VerifyInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c)
465
+ # define EVP_VerifyInit(a,b) EVP_DigestInit(a,b)
466
+ # define EVP_VerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c)
467
+ # define EVP_OpenUpdate(a,b,c,d,e) EVP_DecryptUpdate(a,b,c,d,e)
468
+ # define EVP_SealUpdate(a,b,c,d,e) EVP_EncryptUpdate(a,b,c,d,e)
469
+ # define EVP_DigestSignUpdate(a,b,c) EVP_DigestUpdate(a,b,c)
470
+ # define EVP_DigestVerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c)
471
+
472
+ # ifdef CONST_STRICT
473
+ void BIO_set_md(BIO *, const EVP_MD *md);
474
+ # else
475
+ # define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(char *)md)
476
+ # endif
477
+ # define BIO_get_md(b,mdp) BIO_ctrl(b,BIO_C_GET_MD,0,(char *)mdp)
478
+ # define BIO_get_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_GET_MD_CTX,0,(char *)mdcp)
479
+ # define BIO_set_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_SET_MD_CTX,0,(char *)mdcp)
480
+ # define BIO_get_cipher_status(b) BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL)
481
+ # define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0,(char *)c_pp)
482
+
483
+ /*__owur*/ int EVP_Cipher(EVP_CIPHER_CTX *c,
484
+ unsigned char *out,
485
+ const unsigned char *in, unsigned int inl);
486
+
487
+ # define EVP_add_cipher_alias(n,alias) \
488
+ OBJ_NAME_add((alias),OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS,(n))
489
+ # define EVP_add_digest_alias(n,alias) \
490
+ OBJ_NAME_add((alias),OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS,(n))
491
+ # define EVP_delete_cipher_alias(alias) \
492
+ OBJ_NAME_remove(alias,OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS);
493
+ # define EVP_delete_digest_alias(alias) \
494
+ OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS);
495
+
496
+ int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2);
497
+ EVP_MD_CTX *EVP_MD_CTX_new(void);
498
+ int EVP_MD_CTX_reset(EVP_MD_CTX *ctx);
499
+ void EVP_MD_CTX_free(EVP_MD_CTX *ctx);
500
+ # define EVP_MD_CTX_create() EVP_MD_CTX_new()
501
+ # define EVP_MD_CTX_init(ctx) EVP_MD_CTX_reset((ctx))
502
+ # define EVP_MD_CTX_destroy(ctx) EVP_MD_CTX_free((ctx))
503
+ __owur int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in);
504
+ void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags);
505
+ void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags);
506
+ int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx, int flags);
507
+ __owur int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type,
508
+ ENGINE *impl);
509
+ __owur int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d,
510
+ size_t cnt);
511
+ __owur int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md,
512
+ unsigned int *s);
513
+ __owur int EVP_Digest(const void *data, size_t count,
514
+ unsigned char *md, unsigned int *size,
515
+ const EVP_MD *type, ENGINE *impl);
516
+
517
+ __owur int EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in);
518
+ __owur int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type);
519
+ __owur int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md,
520
+ unsigned int *s);
521
+
522
+ #ifndef OPENSSL_NO_UI
523
+ int EVP_read_pw_string(char *buf, int length, const char *prompt, int verify);
524
+ int EVP_read_pw_string_min(char *buf, int minlen, int maxlen,
525
+ const char *prompt, int verify);
526
+ void EVP_set_pw_prompt(const char *prompt);
527
+ char *EVP_get_pw_prompt(void);
528
+ #endif
529
+
530
+ __owur int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md,
531
+ const unsigned char *salt,
532
+ const unsigned char *data, int datal, int count,
533
+ unsigned char *key, unsigned char *iv);
534
+
535
+ void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags);
536
+ void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags);
537
+ int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx, int flags);
538
+
539
+ __owur int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
540
+ const unsigned char *key, const unsigned char *iv);
541
+ /*__owur*/ int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx,
542
+ const EVP_CIPHER *cipher, ENGINE *impl,
543
+ const unsigned char *key,
544
+ const unsigned char *iv);
545
+ /*__owur*/ int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
546
+ int *outl, const unsigned char *in, int inl);
547
+ /*__owur*/ int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out,
548
+ int *outl);
549
+ /*__owur*/ int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out,
550
+ int *outl);
551
+
552
+ __owur int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
553
+ const unsigned char *key, const unsigned char *iv);
554
+ /*__owur*/ int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx,
555
+ const EVP_CIPHER *cipher, ENGINE *impl,
556
+ const unsigned char *key,
557
+ const unsigned char *iv);
558
+ /*__owur*/ int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
559
+ int *outl, const unsigned char *in, int inl);
560
+ __owur int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm,
561
+ int *outl);
562
+ /*__owur*/ int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm,
563
+ int *outl);
564
+
565
+ __owur int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
566
+ const unsigned char *key, const unsigned char *iv,
567
+ int enc);
568
+ /*__owur*/ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx,
569
+ const EVP_CIPHER *cipher, ENGINE *impl,
570
+ const unsigned char *key,
571
+ const unsigned char *iv, int enc);
572
+ __owur int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
573
+ int *outl, const unsigned char *in, int inl);
574
+ __owur int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm,
575
+ int *outl);
576
+ __owur int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm,
577
+ int *outl);
578
+
579
+ __owur int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s,
580
+ EVP_PKEY *pkey);
581
+
582
+ __owur int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf,
583
+ unsigned int siglen, EVP_PKEY *pkey);
584
+
585
+ /*__owur*/ int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
586
+ const EVP_MD *type, ENGINE *e,
587
+ EVP_PKEY *pkey);
588
+ __owur int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret,
589
+ size_t *siglen);
590
+
591
+ __owur int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
592
+ const EVP_MD *type, ENGINE *e,
593
+ EVP_PKEY *pkey);
594
+ __owur int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig,
595
+ size_t siglen);
596
+
597
+ # ifndef OPENSSL_NO_RSA
598
+ __owur int EVP_OpenInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type,
599
+ const unsigned char *ek, int ekl,
600
+ const unsigned char *iv, EVP_PKEY *priv);
601
+ __owur int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
602
+
603
+ __owur int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type,
604
+ unsigned char **ek, int *ekl, unsigned char *iv,
605
+ EVP_PKEY **pubk, int npubk);
606
+ __owur int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
607
+ # endif
608
+
609
+ EVP_ENCODE_CTX *EVP_ENCODE_CTX_new(void);
610
+ void EVP_ENCODE_CTX_free(EVP_ENCODE_CTX *ctx);
611
+ int EVP_ENCODE_CTX_copy(EVP_ENCODE_CTX *dctx, EVP_ENCODE_CTX *sctx);
612
+ int EVP_ENCODE_CTX_num(EVP_ENCODE_CTX *ctx);
613
+ void EVP_EncodeInit(EVP_ENCODE_CTX *ctx);
614
+ int EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl,
615
+ const unsigned char *in, int inl);
616
+ void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl);
617
+ int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n);
618
+
619
+ void EVP_DecodeInit(EVP_ENCODE_CTX *ctx);
620
+ int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl,
621
+ const unsigned char *in, int inl);
622
+ int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned
623
+ char *out, int *outl);
624
+ int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n);
625
+
626
+ # if OPENSSL_API_COMPAT < 0x10100000L
627
+ # define EVP_CIPHER_CTX_init(c) EVP_CIPHER_CTX_reset(c)
628
+ # define EVP_CIPHER_CTX_cleanup(c) EVP_CIPHER_CTX_reset(c)
629
+ # endif
630
+ EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void);
631
+ int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c);
632
+ void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *c);
633
+ int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen);
634
+ int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad);
635
+ int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr);
636
+ int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key);
637
+
638
+ const BIO_METHOD *BIO_f_md(void);
639
+ const BIO_METHOD *BIO_f_base64(void);
640
+ const BIO_METHOD *BIO_f_cipher(void);
641
+ const BIO_METHOD *BIO_f_reliable(void);
642
+ __owur int BIO_set_cipher(BIO *b, const EVP_CIPHER *c, const unsigned char *k,
643
+ const unsigned char *i, int enc);
644
+
645
+ const EVP_MD *EVP_md_null(void);
646
+ # ifndef OPENSSL_NO_MD2
647
+ const EVP_MD *EVP_md2(void);
648
+ # endif
649
+ # ifndef OPENSSL_NO_MD4
650
+ const EVP_MD *EVP_md4(void);
651
+ # endif
652
+ # ifndef OPENSSL_NO_MD5
653
+ const EVP_MD *EVP_md5(void);
654
+ const EVP_MD *EVP_md5_sha1(void);
655
+ # endif
656
+ # ifndef OPENSSL_NO_BLAKE2
657
+ const EVP_MD *EVP_blake2b512(void);
658
+ const EVP_MD *EVP_blake2s256(void);
659
+ # endif
660
+ const EVP_MD *EVP_sha1(void);
661
+ const EVP_MD *EVP_sha224(void);
662
+ const EVP_MD *EVP_sha256(void);
663
+ const EVP_MD *EVP_sha384(void);
664
+ const EVP_MD *EVP_sha512(void);
665
+ # ifndef OPENSSL_NO_MDC2
666
+ const EVP_MD *EVP_mdc2(void);
667
+ # endif
668
+ # ifndef OPENSSL_NO_RMD160
669
+ const EVP_MD *EVP_ripemd160(void);
670
+ # endif
671
+ # ifndef OPENSSL_NO_WHIRLPOOL
672
+ const EVP_MD *EVP_whirlpool(void);
673
+ # endif
674
+ const EVP_CIPHER *EVP_enc_null(void); /* does nothing :-) */
675
+ # ifndef OPENSSL_NO_DES
676
+ const EVP_CIPHER *EVP_des_ecb(void);
677
+ const EVP_CIPHER *EVP_des_ede(void);
678
+ const EVP_CIPHER *EVP_des_ede3(void);
679
+ const EVP_CIPHER *EVP_des_ede_ecb(void);
680
+ const EVP_CIPHER *EVP_des_ede3_ecb(void);
681
+ const EVP_CIPHER *EVP_des_cfb64(void);
682
+ # define EVP_des_cfb EVP_des_cfb64
683
+ const EVP_CIPHER *EVP_des_cfb1(void);
684
+ const EVP_CIPHER *EVP_des_cfb8(void);
685
+ const EVP_CIPHER *EVP_des_ede_cfb64(void);
686
+ # define EVP_des_ede_cfb EVP_des_ede_cfb64
687
+ const EVP_CIPHER *EVP_des_ede3_cfb64(void);
688
+ # define EVP_des_ede3_cfb EVP_des_ede3_cfb64
689
+ const EVP_CIPHER *EVP_des_ede3_cfb1(void);
690
+ const EVP_CIPHER *EVP_des_ede3_cfb8(void);
691
+ const EVP_CIPHER *EVP_des_ofb(void);
692
+ const EVP_CIPHER *EVP_des_ede_ofb(void);
693
+ const EVP_CIPHER *EVP_des_ede3_ofb(void);
694
+ const EVP_CIPHER *EVP_des_cbc(void);
695
+ const EVP_CIPHER *EVP_des_ede_cbc(void);
696
+ const EVP_CIPHER *EVP_des_ede3_cbc(void);
697
+ const EVP_CIPHER *EVP_desx_cbc(void);
698
+ const EVP_CIPHER *EVP_des_ede3_wrap(void);
699
+ /*
700
+ * This should now be supported through the dev_crypto ENGINE. But also, why
701
+ * are rc4 and md5 declarations made here inside a "NO_DES" precompiler
702
+ * branch?
703
+ */
704
+ # endif
705
+ # ifndef OPENSSL_NO_RC4
706
+ const EVP_CIPHER *EVP_rc4(void);
707
+ const EVP_CIPHER *EVP_rc4_40(void);
708
+ # ifndef OPENSSL_NO_MD5
709
+ const EVP_CIPHER *EVP_rc4_hmac_md5(void);
710
+ # endif
711
+ # endif
712
+ # ifndef OPENSSL_NO_IDEA
713
+ const EVP_CIPHER *EVP_idea_ecb(void);
714
+ const EVP_CIPHER *EVP_idea_cfb64(void);
715
+ # define EVP_idea_cfb EVP_idea_cfb64
716
+ const EVP_CIPHER *EVP_idea_ofb(void);
717
+ const EVP_CIPHER *EVP_idea_cbc(void);
718
+ # endif
719
+ # ifndef OPENSSL_NO_RC2
720
+ const EVP_CIPHER *EVP_rc2_ecb(void);
721
+ const EVP_CIPHER *EVP_rc2_cbc(void);
722
+ const EVP_CIPHER *EVP_rc2_40_cbc(void);
723
+ const EVP_CIPHER *EVP_rc2_64_cbc(void);
724
+ const EVP_CIPHER *EVP_rc2_cfb64(void);
725
+ # define EVP_rc2_cfb EVP_rc2_cfb64
726
+ const EVP_CIPHER *EVP_rc2_ofb(void);
727
+ # endif
728
+ # ifndef OPENSSL_NO_BF
729
+ const EVP_CIPHER *EVP_bf_ecb(void);
730
+ const EVP_CIPHER *EVP_bf_cbc(void);
731
+ const EVP_CIPHER *EVP_bf_cfb64(void);
732
+ # define EVP_bf_cfb EVP_bf_cfb64
733
+ const EVP_CIPHER *EVP_bf_ofb(void);
734
+ # endif
735
+ # ifndef OPENSSL_NO_CAST
736
+ const EVP_CIPHER *EVP_cast5_ecb(void);
737
+ const EVP_CIPHER *EVP_cast5_cbc(void);
738
+ const EVP_CIPHER *EVP_cast5_cfb64(void);
739
+ # define EVP_cast5_cfb EVP_cast5_cfb64
740
+ const EVP_CIPHER *EVP_cast5_ofb(void);
741
+ # endif
742
+ # ifndef OPENSSL_NO_RC5
743
+ const EVP_CIPHER *EVP_rc5_32_12_16_cbc(void);
744
+ const EVP_CIPHER *EVP_rc5_32_12_16_ecb(void);
745
+ const EVP_CIPHER *EVP_rc5_32_12_16_cfb64(void);
746
+ # define EVP_rc5_32_12_16_cfb EVP_rc5_32_12_16_cfb64
747
+ const EVP_CIPHER *EVP_rc5_32_12_16_ofb(void);
748
+ # endif
749
+ const EVP_CIPHER *EVP_aes_128_ecb(void);
750
+ const EVP_CIPHER *EVP_aes_128_cbc(void);
751
+ const EVP_CIPHER *EVP_aes_128_cfb1(void);
752
+ const EVP_CIPHER *EVP_aes_128_cfb8(void);
753
+ const EVP_CIPHER *EVP_aes_128_cfb128(void);
754
+ # define EVP_aes_128_cfb EVP_aes_128_cfb128
755
+ const EVP_CIPHER *EVP_aes_128_ofb(void);
756
+ const EVP_CIPHER *EVP_aes_128_ctr(void);
757
+ const EVP_CIPHER *EVP_aes_128_ccm(void);
758
+ const EVP_CIPHER *EVP_aes_128_gcm(void);
759
+ const EVP_CIPHER *EVP_aes_128_xts(void);
760
+ const EVP_CIPHER *EVP_aes_128_wrap(void);
761
+ const EVP_CIPHER *EVP_aes_128_wrap_pad(void);
762
+ # ifndef OPENSSL_NO_OCB
763
+ const EVP_CIPHER *EVP_aes_128_ocb(void);
764
+ # endif
765
+ const EVP_CIPHER *EVP_aes_192_ecb(void);
766
+ const EVP_CIPHER *EVP_aes_192_cbc(void);
767
+ const EVP_CIPHER *EVP_aes_192_cfb1(void);
768
+ const EVP_CIPHER *EVP_aes_192_cfb8(void);
769
+ const EVP_CIPHER *EVP_aes_192_cfb128(void);
770
+ # define EVP_aes_192_cfb EVP_aes_192_cfb128
771
+ const EVP_CIPHER *EVP_aes_192_ofb(void);
772
+ const EVP_CIPHER *EVP_aes_192_ctr(void);
773
+ const EVP_CIPHER *EVP_aes_192_ccm(void);
774
+ const EVP_CIPHER *EVP_aes_192_gcm(void);
775
+ const EVP_CIPHER *EVP_aes_192_wrap(void);
776
+ const EVP_CIPHER *EVP_aes_192_wrap_pad(void);
777
+ # ifndef OPENSSL_NO_OCB
778
+ const EVP_CIPHER *EVP_aes_192_ocb(void);
779
+ # endif
780
+ const EVP_CIPHER *EVP_aes_256_ecb(void);
781
+ const EVP_CIPHER *EVP_aes_256_cbc(void);
782
+ const EVP_CIPHER *EVP_aes_256_cfb1(void);
783
+ const EVP_CIPHER *EVP_aes_256_cfb8(void);
784
+ const EVP_CIPHER *EVP_aes_256_cfb128(void);
785
+ # define EVP_aes_256_cfb EVP_aes_256_cfb128
786
+ const EVP_CIPHER *EVP_aes_256_ofb(void);
787
+ const EVP_CIPHER *EVP_aes_256_ctr(void);
788
+ const EVP_CIPHER *EVP_aes_256_ccm(void);
789
+ const EVP_CIPHER *EVP_aes_256_gcm(void);
790
+ const EVP_CIPHER *EVP_aes_256_xts(void);
791
+ const EVP_CIPHER *EVP_aes_256_wrap(void);
792
+ const EVP_CIPHER *EVP_aes_256_wrap_pad(void);
793
+ # ifndef OPENSSL_NO_OCB
794
+ const EVP_CIPHER *EVP_aes_256_ocb(void);
795
+ # endif
796
+ const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void);
797
+ const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void);
798
+ const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha256(void);
799
+ const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha256(void);
800
+ # ifndef OPENSSL_NO_CAMELLIA
801
+ const EVP_CIPHER *EVP_camellia_128_ecb(void);
802
+ const EVP_CIPHER *EVP_camellia_128_cbc(void);
803
+ const EVP_CIPHER *EVP_camellia_128_cfb1(void);
804
+ const EVP_CIPHER *EVP_camellia_128_cfb8(void);
805
+ const EVP_CIPHER *EVP_camellia_128_cfb128(void);
806
+ # define EVP_camellia_128_cfb EVP_camellia_128_cfb128
807
+ const EVP_CIPHER *EVP_camellia_128_ofb(void);
808
+ const EVP_CIPHER *EVP_camellia_128_ctr(void);
809
+ const EVP_CIPHER *EVP_camellia_192_ecb(void);
810
+ const EVP_CIPHER *EVP_camellia_192_cbc(void);
811
+ const EVP_CIPHER *EVP_camellia_192_cfb1(void);
812
+ const EVP_CIPHER *EVP_camellia_192_cfb8(void);
813
+ const EVP_CIPHER *EVP_camellia_192_cfb128(void);
814
+ # define EVP_camellia_192_cfb EVP_camellia_192_cfb128
815
+ const EVP_CIPHER *EVP_camellia_192_ofb(void);
816
+ const EVP_CIPHER *EVP_camellia_192_ctr(void);
817
+ const EVP_CIPHER *EVP_camellia_256_ecb(void);
818
+ const EVP_CIPHER *EVP_camellia_256_cbc(void);
819
+ const EVP_CIPHER *EVP_camellia_256_cfb1(void);
820
+ const EVP_CIPHER *EVP_camellia_256_cfb8(void);
821
+ const EVP_CIPHER *EVP_camellia_256_cfb128(void);
822
+ # define EVP_camellia_256_cfb EVP_camellia_256_cfb128
823
+ const EVP_CIPHER *EVP_camellia_256_ofb(void);
824
+ const EVP_CIPHER *EVP_camellia_256_ctr(void);
825
+ # endif
826
+ # ifndef OPENSSL_NO_CHACHA
827
+ const EVP_CIPHER *EVP_chacha20(void);
828
+ # ifndef OPENSSL_NO_POLY1305
829
+ const EVP_CIPHER *EVP_chacha20_poly1305(void);
830
+ # endif
831
+ # endif
832
+
833
+ # ifndef OPENSSL_NO_SEED
834
+ const EVP_CIPHER *EVP_seed_ecb(void);
835
+ const EVP_CIPHER *EVP_seed_cbc(void);
836
+ const EVP_CIPHER *EVP_seed_cfb128(void);
837
+ # define EVP_seed_cfb EVP_seed_cfb128
838
+ const EVP_CIPHER *EVP_seed_ofb(void);
839
+ # endif
840
+
841
+ # if OPENSSL_API_COMPAT < 0x10100000L
842
+ # define OPENSSL_add_all_algorithms_conf() \
843
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
844
+ | OPENSSL_INIT_ADD_ALL_DIGESTS \
845
+ | OPENSSL_INIT_LOAD_CONFIG, NULL)
846
+ # define OPENSSL_add_all_algorithms_noconf() \
847
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
848
+ | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL)
849
+
850
+ # ifdef OPENSSL_LOAD_CONF
851
+ # define OpenSSL_add_all_algorithms() \
852
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
853
+ | OPENSSL_INIT_ADD_ALL_DIGESTS \
854
+ | OPENSSL_INIT_LOAD_CONFIG, NULL)
855
+ # else
856
+ # define OpenSSL_add_all_algorithms() \
857
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
858
+ | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL)
859
+ # endif
860
+
861
+ # define OpenSSL_add_all_ciphers() \
862
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS, NULL)
863
+ # define OpenSSL_add_all_digests() \
864
+ OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_DIGESTS, NULL)
865
+
866
+ # define EVP_cleanup() while(0) continue
867
+ # endif
868
+
869
+ int EVP_add_cipher(const EVP_CIPHER *cipher);
870
+ int EVP_add_digest(const EVP_MD *digest);
871
+
872
+ const EVP_CIPHER *EVP_get_cipherbyname(const char *name);
873
+ const EVP_MD *EVP_get_digestbyname(const char *name);
874
+
875
+ void EVP_CIPHER_do_all(void (*fn) (const EVP_CIPHER *ciph,
876
+ const char *from, const char *to, void *x),
877
+ void *arg);
878
+ void EVP_CIPHER_do_all_sorted(void (*fn)
879
+ (const EVP_CIPHER *ciph, const char *from,
880
+ const char *to, void *x), void *arg);
881
+
882
+ void EVP_MD_do_all(void (*fn) (const EVP_MD *ciph,
883
+ const char *from, const char *to, void *x),
884
+ void *arg);
885
+ void EVP_MD_do_all_sorted(void (*fn)
886
+ (const EVP_MD *ciph, const char *from,
887
+ const char *to, void *x), void *arg);
888
+
889
+ int EVP_PKEY_decrypt_old(unsigned char *dec_key,
890
+ const unsigned char *enc_key, int enc_key_len,
891
+ EVP_PKEY *private_key);
892
+ int EVP_PKEY_encrypt_old(unsigned char *enc_key,
893
+ const unsigned char *key, int key_len,
894
+ EVP_PKEY *pub_key);
895
+ int EVP_PKEY_type(int type);
896
+ int EVP_PKEY_id(const EVP_PKEY *pkey);
897
+ int EVP_PKEY_base_id(const EVP_PKEY *pkey);
898
+ int EVP_PKEY_bits(const EVP_PKEY *pkey);
899
+ int EVP_PKEY_security_bits(const EVP_PKEY *pkey);
900
+ int EVP_PKEY_size(EVP_PKEY *pkey);
901
+ int EVP_PKEY_set_type(EVP_PKEY *pkey, int type);
902
+ int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len);
903
+ int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key);
904
+ void *EVP_PKEY_get0(const EVP_PKEY *pkey);
905
+ const unsigned char *EVP_PKEY_get0_hmac(const EVP_PKEY *pkey, size_t *len);
906
+
907
+ # ifndef OPENSSL_NO_RSA
908
+ struct rsa_st;
909
+ int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, struct rsa_st *key);
910
+ struct rsa_st *EVP_PKEY_get0_RSA(EVP_PKEY *pkey);
911
+ struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey);
912
+ # endif
913
+ # ifndef OPENSSL_NO_DSA
914
+ struct dsa_st;
915
+ int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, struct dsa_st *key);
916
+ struct dsa_st *EVP_PKEY_get0_DSA(EVP_PKEY *pkey);
917
+ struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey);
918
+ # endif
919
+ # ifndef OPENSSL_NO_DH
920
+ struct dh_st;
921
+ int EVP_PKEY_set1_DH(EVP_PKEY *pkey, struct dh_st *key);
922
+ struct dh_st *EVP_PKEY_get0_DH(EVP_PKEY *pkey);
923
+ struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey);
924
+ # endif
925
+ # ifndef OPENSSL_NO_EC
926
+ struct ec_key_st;
927
+ int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, struct ec_key_st *key);
928
+ struct ec_key_st *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey);
929
+ struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey);
930
+ # endif
931
+
932
+ EVP_PKEY *EVP_PKEY_new(void);
933
+ int EVP_PKEY_up_ref(EVP_PKEY *pkey);
934
+ void EVP_PKEY_free(EVP_PKEY *pkey);
935
+
936
+ EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp,
937
+ long length);
938
+ int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp);
939
+
940
+ EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp,
941
+ long length);
942
+ EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp,
943
+ long length);
944
+ int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp);
945
+
946
+ int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from);
947
+ int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey);
948
+ int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode);
949
+ int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b);
950
+
951
+ int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b);
952
+
953
+ int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey,
954
+ int indent, ASN1_PCTX *pctx);
955
+ int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey,
956
+ int indent, ASN1_PCTX *pctx);
957
+ int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey,
958
+ int indent, ASN1_PCTX *pctx);
959
+
960
+ int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid);
961
+
962
+ int EVP_PKEY_set1_tls_encodedpoint(EVP_PKEY *pkey,
963
+ const unsigned char *pt, size_t ptlen);
964
+ size_t EVP_PKEY_get1_tls_encodedpoint(EVP_PKEY *pkey, unsigned char **ppt);
965
+
966
+ int EVP_CIPHER_type(const EVP_CIPHER *ctx);
967
+
968
+ /* calls methods */
969
+ int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
970
+ int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
971
+
972
+ /* These are used by EVP_CIPHER methods */
973
+ int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
974
+ int EVP_CIPHER_get_asn1_iv(EVP_CIPHER_CTX *c, ASN1_TYPE *type);
975
+
976
+ /* PKCS5 password based encryption */
977
+ int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
978
+ ASN1_TYPE *param, const EVP_CIPHER *cipher,
979
+ const EVP_MD *md, int en_de);
980
+ int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen,
981
+ const unsigned char *salt, int saltlen, int iter,
982
+ int keylen, unsigned char *out);
983
+ int PKCS5_PBKDF2_HMAC(const char *pass, int passlen,
984
+ const unsigned char *salt, int saltlen, int iter,
985
+ const EVP_MD *digest, int keylen, unsigned char *out);
986
+ int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
987
+ ASN1_TYPE *param, const EVP_CIPHER *cipher,
988
+ const EVP_MD *md, int en_de);
989
+
990
+ #ifndef OPENSSL_NO_SCRYPT
991
+ int EVP_PBE_scrypt(const char *pass, size_t passlen,
992
+ const unsigned char *salt, size_t saltlen,
993
+ uint64_t N, uint64_t r, uint64_t p, uint64_t maxmem,
994
+ unsigned char *key, size_t keylen);
995
+
996
+ int PKCS5_v2_scrypt_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass,
997
+ int passlen, ASN1_TYPE *param,
998
+ const EVP_CIPHER *c, const EVP_MD *md, int en_de);
999
+ #endif
1000
+
1001
+ void PKCS5_PBE_add(void);
1002
+
1003
+ int EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen,
1004
+ ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de);
1005
+
1006
+ /* PBE type */
1007
+
1008
+ /* Can appear as the outermost AlgorithmIdentifier */
1009
+ # define EVP_PBE_TYPE_OUTER 0x0
1010
+ /* Is an PRF type OID */
1011
+ # define EVP_PBE_TYPE_PRF 0x1
1012
+ /* Is a PKCS#5 v2.0 KDF */
1013
+ # define EVP_PBE_TYPE_KDF 0x2
1014
+
1015
+ int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid,
1016
+ int md_nid, EVP_PBE_KEYGEN *keygen);
1017
+ int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md,
1018
+ EVP_PBE_KEYGEN *keygen);
1019
+ int EVP_PBE_find(int type, int pbe_nid, int *pcnid, int *pmnid,
1020
+ EVP_PBE_KEYGEN **pkeygen);
1021
+ void EVP_PBE_cleanup(void);
1022
+ int EVP_PBE_get(int *ptype, int *ppbe_nid, size_t num);
1023
+
1024
+ # define ASN1_PKEY_ALIAS 0x1
1025
+ # define ASN1_PKEY_DYNAMIC 0x2
1026
+ # define ASN1_PKEY_SIGPARAM_NULL 0x4
1027
+
1028
+ # define ASN1_PKEY_CTRL_PKCS7_SIGN 0x1
1029
+ # define ASN1_PKEY_CTRL_PKCS7_ENCRYPT 0x2
1030
+ # define ASN1_PKEY_CTRL_DEFAULT_MD_NID 0x3
1031
+ # define ASN1_PKEY_CTRL_CMS_SIGN 0x5
1032
+ # define ASN1_PKEY_CTRL_CMS_ENVELOPE 0x7
1033
+ # define ASN1_PKEY_CTRL_CMS_RI_TYPE 0x8
1034
+
1035
+ # define ASN1_PKEY_CTRL_SET1_TLS_ENCPT 0x9
1036
+ # define ASN1_PKEY_CTRL_GET1_TLS_ENCPT 0xa
1037
+
1038
+ int EVP_PKEY_asn1_get_count(void);
1039
+ const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx);
1040
+ const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type);
1041
+ const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe,
1042
+ const char *str, int len);
1043
+ int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth);
1044
+ int EVP_PKEY_asn1_add_alias(int to, int from);
1045
+ int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id,
1046
+ int *ppkey_flags, const char **pinfo,
1047
+ const char **ppem_str,
1048
+ const EVP_PKEY_ASN1_METHOD *ameth);
1049
+
1050
+ const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(const EVP_PKEY *pkey);
1051
+ EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_new(int id, int flags,
1052
+ const char *pem_str,
1053
+ const char *info);
1054
+ void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst,
1055
+ const EVP_PKEY_ASN1_METHOD *src);
1056
+ void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth);
1057
+ void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth,
1058
+ int (*pub_decode) (EVP_PKEY *pk,
1059
+ X509_PUBKEY *pub),
1060
+ int (*pub_encode) (X509_PUBKEY *pub,
1061
+ const EVP_PKEY *pk),
1062
+ int (*pub_cmp) (const EVP_PKEY *a,
1063
+ const EVP_PKEY *b),
1064
+ int (*pub_print) (BIO *out,
1065
+ const EVP_PKEY *pkey,
1066
+ int indent, ASN1_PCTX *pctx),
1067
+ int (*pkey_size) (const EVP_PKEY *pk),
1068
+ int (*pkey_bits) (const EVP_PKEY *pk));
1069
+ void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth,
1070
+ int (*priv_decode) (EVP_PKEY *pk,
1071
+ const PKCS8_PRIV_KEY_INFO
1072
+ *p8inf),
1073
+ int (*priv_encode) (PKCS8_PRIV_KEY_INFO *p8,
1074
+ const EVP_PKEY *pk),
1075
+ int (*priv_print) (BIO *out,
1076
+ const EVP_PKEY *pkey,
1077
+ int indent,
1078
+ ASN1_PCTX *pctx));
1079
+ void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth,
1080
+ int (*param_decode) (EVP_PKEY *pkey,
1081
+ const unsigned char **pder,
1082
+ int derlen),
1083
+ int (*param_encode) (const EVP_PKEY *pkey,
1084
+ unsigned char **pder),
1085
+ int (*param_missing) (const EVP_PKEY *pk),
1086
+ int (*param_copy) (EVP_PKEY *to,
1087
+ const EVP_PKEY *from),
1088
+ int (*param_cmp) (const EVP_PKEY *a,
1089
+ const EVP_PKEY *b),
1090
+ int (*param_print) (BIO *out,
1091
+ const EVP_PKEY *pkey,
1092
+ int indent,
1093
+ ASN1_PCTX *pctx));
1094
+
1095
+ void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth,
1096
+ void (*pkey_free) (EVP_PKEY *pkey));
1097
+ void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth,
1098
+ int (*pkey_ctrl) (EVP_PKEY *pkey, int op,
1099
+ long arg1, void *arg2));
1100
+ void EVP_PKEY_asn1_set_item(EVP_PKEY_ASN1_METHOD *ameth,
1101
+ int (*item_verify) (EVP_MD_CTX *ctx,
1102
+ const ASN1_ITEM *it,
1103
+ void *asn,
1104
+ X509_ALGOR *a,
1105
+ ASN1_BIT_STRING *sig,
1106
+ EVP_PKEY *pkey),
1107
+ int (*item_sign) (EVP_MD_CTX *ctx,
1108
+ const ASN1_ITEM *it,
1109
+ void *asn,
1110
+ X509_ALGOR *alg1,
1111
+ X509_ALGOR *alg2,
1112
+ ASN1_BIT_STRING *sig));
1113
+
1114
+ void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth,
1115
+ int (*pkey_security_bits) (const EVP_PKEY
1116
+ *pk));
1117
+
1118
+ # define EVP_PKEY_OP_UNDEFINED 0
1119
+ # define EVP_PKEY_OP_PARAMGEN (1<<1)
1120
+ # define EVP_PKEY_OP_KEYGEN (1<<2)
1121
+ # define EVP_PKEY_OP_SIGN (1<<3)
1122
+ # define EVP_PKEY_OP_VERIFY (1<<4)
1123
+ # define EVP_PKEY_OP_VERIFYRECOVER (1<<5)
1124
+ # define EVP_PKEY_OP_SIGNCTX (1<<6)
1125
+ # define EVP_PKEY_OP_VERIFYCTX (1<<7)
1126
+ # define EVP_PKEY_OP_ENCRYPT (1<<8)
1127
+ # define EVP_PKEY_OP_DECRYPT (1<<9)
1128
+ # define EVP_PKEY_OP_DERIVE (1<<10)
1129
+
1130
+ # define EVP_PKEY_OP_TYPE_SIG \
1131
+ (EVP_PKEY_OP_SIGN | EVP_PKEY_OP_VERIFY | EVP_PKEY_OP_VERIFYRECOVER \
1132
+ | EVP_PKEY_OP_SIGNCTX | EVP_PKEY_OP_VERIFYCTX)
1133
+
1134
+ # define EVP_PKEY_OP_TYPE_CRYPT \
1135
+ (EVP_PKEY_OP_ENCRYPT | EVP_PKEY_OP_DECRYPT)
1136
+
1137
+ # define EVP_PKEY_OP_TYPE_NOGEN \
1138
+ (EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT | EVP_PKEY_OP_DERIVE)
1139
+
1140
+ # define EVP_PKEY_OP_TYPE_GEN \
1141
+ (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN)
1142
+
1143
+ # define EVP_PKEY_CTX_set_signature_md(ctx, md) \
1144
+ EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \
1145
+ EVP_PKEY_CTRL_MD, 0, (void *)md)
1146
+
1147
+ # define EVP_PKEY_CTX_get_signature_md(ctx, pmd) \
1148
+ EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \
1149
+ EVP_PKEY_CTRL_GET_MD, 0, (void *)pmd)
1150
+
1151
+ # define EVP_PKEY_CTX_set_mac_key(ctx, key, len) \
1152
+ EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_KEYGEN, \
1153
+ EVP_PKEY_CTRL_SET_MAC_KEY, len, (void *)key)
1154
+
1155
+ # define EVP_PKEY_CTRL_MD 1
1156
+ # define EVP_PKEY_CTRL_PEER_KEY 2
1157
+
1158
+ # define EVP_PKEY_CTRL_PKCS7_ENCRYPT 3
1159
+ # define EVP_PKEY_CTRL_PKCS7_DECRYPT 4
1160
+
1161
+ # define EVP_PKEY_CTRL_PKCS7_SIGN 5
1162
+
1163
+ # define EVP_PKEY_CTRL_SET_MAC_KEY 6
1164
+
1165
+ # define EVP_PKEY_CTRL_DIGESTINIT 7
1166
+
1167
+ /* Used by GOST key encryption in TLS */
1168
+ # define EVP_PKEY_CTRL_SET_IV 8
1169
+
1170
+ # define EVP_PKEY_CTRL_CMS_ENCRYPT 9
1171
+ # define EVP_PKEY_CTRL_CMS_DECRYPT 10
1172
+ # define EVP_PKEY_CTRL_CMS_SIGN 11
1173
+
1174
+ # define EVP_PKEY_CTRL_CIPHER 12
1175
+
1176
+ # define EVP_PKEY_CTRL_GET_MD 13
1177
+
1178
+ # define EVP_PKEY_ALG_CTRL 0x1000
1179
+
1180
+ # define EVP_PKEY_FLAG_AUTOARGLEN 2
1181
+ /*
1182
+ * Method handles all operations: don't assume any digest related defaults.
1183
+ */
1184
+ # define EVP_PKEY_FLAG_SIGCTX_CUSTOM 4
1185
+
1186
+ const EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type);
1187
+ EVP_PKEY_METHOD *EVP_PKEY_meth_new(int id, int flags);
1188
+ void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags,
1189
+ const EVP_PKEY_METHOD *meth);
1190
+ void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD *src);
1191
+ void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth);
1192
+ int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth);
1193
+
1194
+ EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e);
1195
+ EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e);
1196
+ EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx);
1197
+ void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx);
1198
+
1199
+ int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype,
1200
+ int cmd, int p1, void *p2);
1201
+ int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type,
1202
+ const char *value);
1203
+
1204
+ int EVP_PKEY_CTX_str2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *str);
1205
+ int EVP_PKEY_CTX_hex2ctrl(EVP_PKEY_CTX *ctx, int cmd, const char *hex);
1206
+
1207
+ int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx);
1208
+ void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen);
1209
+
1210
+ EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e,
1211
+ const unsigned char *key, int keylen);
1212
+
1213
+ void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data);
1214
+ void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx);
1215
+ EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx);
1216
+
1217
+ EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx);
1218
+
1219
+ void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data);
1220
+ void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx);
1221
+
1222
+ int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx);
1223
+ int EVP_PKEY_sign(EVP_PKEY_CTX *ctx,
1224
+ unsigned char *sig, size_t *siglen,
1225
+ const unsigned char *tbs, size_t tbslen);
1226
+ int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx);
1227
+ int EVP_PKEY_verify(EVP_PKEY_CTX *ctx,
1228
+ const unsigned char *sig, size_t siglen,
1229
+ const unsigned char *tbs, size_t tbslen);
1230
+ int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx);
1231
+ int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx,
1232
+ unsigned char *rout, size_t *routlen,
1233
+ const unsigned char *sig, size_t siglen);
1234
+ int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx);
1235
+ int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx,
1236
+ unsigned char *out, size_t *outlen,
1237
+ const unsigned char *in, size_t inlen);
1238
+ int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx);
1239
+ int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx,
1240
+ unsigned char *out, size_t *outlen,
1241
+ const unsigned char *in, size_t inlen);
1242
+
1243
+ int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx);
1244
+ int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer);
1245
+ int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen);
1246
+
1247
+ typedef int EVP_PKEY_gen_cb(EVP_PKEY_CTX *ctx);
1248
+
1249
+ int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx);
1250
+ int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey);
1251
+ int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx);
1252
+ int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey);
1253
+
1254
+ void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb);
1255
+ EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx);
1256
+
1257
+ int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx);
1258
+
1259
+ void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth,
1260
+ int (*init) (EVP_PKEY_CTX *ctx));
1261
+
1262
+ void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth,
1263
+ int (*copy) (EVP_PKEY_CTX *dst,
1264
+ EVP_PKEY_CTX *src));
1265
+
1266
+ void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth,
1267
+ void (*cleanup) (EVP_PKEY_CTX *ctx));
1268
+
1269
+ void EVP_PKEY_meth_set_paramgen(EVP_PKEY_METHOD *pmeth,
1270
+ int (*paramgen_init) (EVP_PKEY_CTX *ctx),
1271
+ int (*paramgen) (EVP_PKEY_CTX *ctx,
1272
+ EVP_PKEY *pkey));
1273
+
1274
+ void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth,
1275
+ int (*keygen_init) (EVP_PKEY_CTX *ctx),
1276
+ int (*keygen) (EVP_PKEY_CTX *ctx,
1277
+ EVP_PKEY *pkey));
1278
+
1279
+ void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth,
1280
+ int (*sign_init) (EVP_PKEY_CTX *ctx),
1281
+ int (*sign) (EVP_PKEY_CTX *ctx,
1282
+ unsigned char *sig, size_t *siglen,
1283
+ const unsigned char *tbs,
1284
+ size_t tbslen));
1285
+
1286
+ void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth,
1287
+ int (*verify_init) (EVP_PKEY_CTX *ctx),
1288
+ int (*verify) (EVP_PKEY_CTX *ctx,
1289
+ const unsigned char *sig,
1290
+ size_t siglen,
1291
+ const unsigned char *tbs,
1292
+ size_t tbslen));
1293
+
1294
+ void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth,
1295
+ int (*verify_recover_init) (EVP_PKEY_CTX
1296
+ *ctx),
1297
+ int (*verify_recover) (EVP_PKEY_CTX
1298
+ *ctx,
1299
+ unsigned char
1300
+ *sig,
1301
+ size_t *siglen,
1302
+ const unsigned
1303
+ char *tbs,
1304
+ size_t tbslen));
1305
+
1306
+ void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth,
1307
+ int (*signctx_init) (EVP_PKEY_CTX *ctx,
1308
+ EVP_MD_CTX *mctx),
1309
+ int (*signctx) (EVP_PKEY_CTX *ctx,
1310
+ unsigned char *sig,
1311
+ size_t *siglen,
1312
+ EVP_MD_CTX *mctx));
1313
+
1314
+ void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth,
1315
+ int (*verifyctx_init) (EVP_PKEY_CTX *ctx,
1316
+ EVP_MD_CTX *mctx),
1317
+ int (*verifyctx) (EVP_PKEY_CTX *ctx,
1318
+ const unsigned char *sig,
1319
+ int siglen,
1320
+ EVP_MD_CTX *mctx));
1321
+
1322
+ void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth,
1323
+ int (*encrypt_init) (EVP_PKEY_CTX *ctx),
1324
+ int (*encryptfn) (EVP_PKEY_CTX *ctx,
1325
+ unsigned char *out,
1326
+ size_t *outlen,
1327
+ const unsigned char *in,
1328
+ size_t inlen));
1329
+
1330
+ void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth,
1331
+ int (*decrypt_init) (EVP_PKEY_CTX *ctx),
1332
+ int (*decrypt) (EVP_PKEY_CTX *ctx,
1333
+ unsigned char *out,
1334
+ size_t *outlen,
1335
+ const unsigned char *in,
1336
+ size_t inlen));
1337
+
1338
+ void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth,
1339
+ int (*derive_init) (EVP_PKEY_CTX *ctx),
1340
+ int (*derive) (EVP_PKEY_CTX *ctx,
1341
+ unsigned char *key,
1342
+ size_t *keylen));
1343
+
1344
+ void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth,
1345
+ int (*ctrl) (EVP_PKEY_CTX *ctx, int type, int p1,
1346
+ void *p2),
1347
+ int (*ctrl_str) (EVP_PKEY_CTX *ctx,
1348
+ const char *type,
1349
+ const char *value));
1350
+
1351
+ void EVP_PKEY_meth_get_init(EVP_PKEY_METHOD *pmeth,
1352
+ int (**pinit) (EVP_PKEY_CTX *ctx));
1353
+
1354
+ void EVP_PKEY_meth_get_copy(EVP_PKEY_METHOD *pmeth,
1355
+ int (**pcopy) (EVP_PKEY_CTX *dst,
1356
+ EVP_PKEY_CTX *src));
1357
+
1358
+ void EVP_PKEY_meth_get_cleanup(EVP_PKEY_METHOD *pmeth,
1359
+ void (**pcleanup) (EVP_PKEY_CTX *ctx));
1360
+
1361
+ void EVP_PKEY_meth_get_paramgen(EVP_PKEY_METHOD *pmeth,
1362
+ int (**pparamgen_init) (EVP_PKEY_CTX *ctx),
1363
+ int (**pparamgen) (EVP_PKEY_CTX *ctx,
1364
+ EVP_PKEY *pkey));
1365
+
1366
+ void EVP_PKEY_meth_get_keygen(EVP_PKEY_METHOD *pmeth,
1367
+ int (**pkeygen_init) (EVP_PKEY_CTX *ctx),
1368
+ int (**pkeygen) (EVP_PKEY_CTX *ctx,
1369
+ EVP_PKEY *pkey));
1370
+
1371
+ void EVP_PKEY_meth_get_sign(EVP_PKEY_METHOD *pmeth,
1372
+ int (**psign_init) (EVP_PKEY_CTX *ctx),
1373
+ int (**psign) (EVP_PKEY_CTX *ctx,
1374
+ unsigned char *sig, size_t *siglen,
1375
+ const unsigned char *tbs,
1376
+ size_t tbslen));
1377
+
1378
+ void EVP_PKEY_meth_get_verify(EVP_PKEY_METHOD *pmeth,
1379
+ int (**pverify_init) (EVP_PKEY_CTX *ctx),
1380
+ int (**pverify) (EVP_PKEY_CTX *ctx,
1381
+ const unsigned char *sig,
1382
+ size_t siglen,
1383
+ const unsigned char *tbs,
1384
+ size_t tbslen));
1385
+
1386
+ void EVP_PKEY_meth_get_verify_recover(EVP_PKEY_METHOD *pmeth,
1387
+ int (**pverify_recover_init) (EVP_PKEY_CTX
1388
+ *ctx),
1389
+ int (**pverify_recover) (EVP_PKEY_CTX
1390
+ *ctx,
1391
+ unsigned char
1392
+ *sig,
1393
+ size_t *siglen,
1394
+ const unsigned
1395
+ char *tbs,
1396
+ size_t tbslen));
1397
+
1398
+ void EVP_PKEY_meth_get_signctx(EVP_PKEY_METHOD *pmeth,
1399
+ int (**psignctx_init) (EVP_PKEY_CTX *ctx,
1400
+ EVP_MD_CTX *mctx),
1401
+ int (**psignctx) (EVP_PKEY_CTX *ctx,
1402
+ unsigned char *sig,
1403
+ size_t *siglen,
1404
+ EVP_MD_CTX *mctx));
1405
+
1406
+ void EVP_PKEY_meth_get_verifyctx(EVP_PKEY_METHOD *pmeth,
1407
+ int (**pverifyctx_init) (EVP_PKEY_CTX *ctx,
1408
+ EVP_MD_CTX *mctx),
1409
+ int (**pverifyctx) (EVP_PKEY_CTX *ctx,
1410
+ const unsigned char *sig,
1411
+ int siglen,
1412
+ EVP_MD_CTX *mctx));
1413
+
1414
+ void EVP_PKEY_meth_get_encrypt(EVP_PKEY_METHOD *pmeth,
1415
+ int (**pencrypt_init) (EVP_PKEY_CTX *ctx),
1416
+ int (**pencryptfn) (EVP_PKEY_CTX *ctx,
1417
+ unsigned char *out,
1418
+ size_t *outlen,
1419
+ const unsigned char *in,
1420
+ size_t inlen));
1421
+
1422
+ void EVP_PKEY_meth_get_decrypt(EVP_PKEY_METHOD *pmeth,
1423
+ int (**pdecrypt_init) (EVP_PKEY_CTX *ctx),
1424
+ int (**pdecrypt) (EVP_PKEY_CTX *ctx,
1425
+ unsigned char *out,
1426
+ size_t *outlen,
1427
+ const unsigned char *in,
1428
+ size_t inlen));
1429
+
1430
+ void EVP_PKEY_meth_get_derive(EVP_PKEY_METHOD *pmeth,
1431
+ int (**pderive_init) (EVP_PKEY_CTX *ctx),
1432
+ int (**pderive) (EVP_PKEY_CTX *ctx,
1433
+ unsigned char *key,
1434
+ size_t *keylen));
1435
+
1436
+ void EVP_PKEY_meth_get_ctrl(EVP_PKEY_METHOD *pmeth,
1437
+ int (**pctrl) (EVP_PKEY_CTX *ctx, int type, int p1,
1438
+ void *p2),
1439
+ int (**pctrl_str) (EVP_PKEY_CTX *ctx,
1440
+ const char *type,
1441
+ const char *value));
1442
+
1443
+ void EVP_add_alg_module(void);
1444
+
1445
+ /* BEGIN ERROR CODES */
1446
+ /*
1447
+ * The following lines are auto generated by the script mkerr.pl. Any changes
1448
+ * made after this point may be overwritten when the script is next run.
1449
+ */
1450
+
1451
+ int ERR_load_EVP_strings(void);
1452
+
1453
+ /* Error codes for the EVP functions. */
1454
+
1455
+ /* Function codes. */
1456
+ # define EVP_F_AESNI_INIT_KEY 165
1457
+ # define EVP_F_AES_INIT_KEY 133
1458
+ # define EVP_F_AES_T4_INIT_KEY 178
1459
+ # define EVP_F_ALG_MODULE_INIT 177
1460
+ # define EVP_F_CAMELLIA_INIT_KEY 159
1461
+ # define EVP_F_CHACHA20_POLY1305_CTRL 182
1462
+ # define EVP_F_CMLL_T4_INIT_KEY 179
1463
+ # define EVP_F_DO_SIGVER_INIT 161
1464
+ # define EVP_F_EVP_CIPHERINIT_EX 123
1465
+ # define EVP_F_EVP_CIPHER_CTX_COPY 163
1466
+ # define EVP_F_EVP_CIPHER_CTX_CTRL 124
1467
+ # define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122
1468
+ # define EVP_F_EVP_DECRYPTFINAL_EX 101
1469
+ # define EVP_F_EVP_DECRYPTUPDATE 166
1470
+ # define EVP_F_EVP_DIGESTINIT_EX 128
1471
+ # define EVP_F_EVP_ENCRYPTFINAL_EX 127
1472
+ # define EVP_F_EVP_ENCRYPTUPDATE 167
1473
+ # define EVP_F_EVP_MD_CTX_COPY_EX 110
1474
+ # define EVP_F_EVP_MD_SIZE 162
1475
+ # define EVP_F_EVP_OPENINIT 102
1476
+ # define EVP_F_EVP_PBE_ALG_ADD 115
1477
+ # define EVP_F_EVP_PBE_ALG_ADD_TYPE 160
1478
+ # define EVP_F_EVP_PBE_CIPHERINIT 116
1479
+ # define EVP_F_EVP_PBE_SCRYPT 181
1480
+ # define EVP_F_EVP_PKCS82PKEY 111
1481
+ # define EVP_F_EVP_PKEY2PKCS8 113
1482
+ # define EVP_F_EVP_PKEY_COPY_PARAMETERS 103
1483
+ # define EVP_F_EVP_PKEY_CTX_CTRL 137
1484
+ # define EVP_F_EVP_PKEY_CTX_CTRL_STR 150
1485
+ # define EVP_F_EVP_PKEY_CTX_DUP 156
1486
+ # define EVP_F_EVP_PKEY_DECRYPT 104
1487
+ # define EVP_F_EVP_PKEY_DECRYPT_INIT 138
1488
+ # define EVP_F_EVP_PKEY_DECRYPT_OLD 151
1489
+ # define EVP_F_EVP_PKEY_DERIVE 153
1490
+ # define EVP_F_EVP_PKEY_DERIVE_INIT 154
1491
+ # define EVP_F_EVP_PKEY_DERIVE_SET_PEER 155
1492
+ # define EVP_F_EVP_PKEY_ENCRYPT 105
1493
+ # define EVP_F_EVP_PKEY_ENCRYPT_INIT 139
1494
+ # define EVP_F_EVP_PKEY_ENCRYPT_OLD 152
1495
+ # define EVP_F_EVP_PKEY_GET0_DH 119
1496
+ # define EVP_F_EVP_PKEY_GET0_DSA 120
1497
+ # define EVP_F_EVP_PKEY_GET0_EC_KEY 131
1498
+ # define EVP_F_EVP_PKEY_GET0_HMAC 183
1499
+ # define EVP_F_EVP_PKEY_GET0_RSA 121
1500
+ # define EVP_F_EVP_PKEY_KEYGEN 146
1501
+ # define EVP_F_EVP_PKEY_KEYGEN_INIT 147
1502
+ # define EVP_F_EVP_PKEY_NEW 106
1503
+ # define EVP_F_EVP_PKEY_PARAMGEN 148
1504
+ # define EVP_F_EVP_PKEY_PARAMGEN_INIT 149
1505
+ # define EVP_F_EVP_PKEY_SIGN 140
1506
+ # define EVP_F_EVP_PKEY_SIGN_INIT 141
1507
+ # define EVP_F_EVP_PKEY_VERIFY 142
1508
+ # define EVP_F_EVP_PKEY_VERIFY_INIT 143
1509
+ # define EVP_F_EVP_PKEY_VERIFY_RECOVER 144
1510
+ # define EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT 145
1511
+ # define EVP_F_EVP_SIGNFINAL 107
1512
+ # define EVP_F_EVP_VERIFYFINAL 108
1513
+ # define EVP_F_INT_CTX_NEW 157
1514
+ # define EVP_F_PKCS5_PBE_KEYIVGEN 117
1515
+ # define EVP_F_PKCS5_V2_PBE_KEYIVGEN 118
1516
+ # define EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN 164
1517
+ # define EVP_F_PKCS5_V2_SCRYPT_KEYIVGEN 180
1518
+ # define EVP_F_PKEY_SET_TYPE 158
1519
+ # define EVP_F_RC2_MAGIC_TO_METH 109
1520
+ # define EVP_F_RC5_CTRL 125
1521
+
1522
+ /* Reason codes. */
1523
+ # define EVP_R_AES_KEY_SETUP_FAILED 143
1524
+ # define EVP_R_BAD_DECRYPT 100
1525
+ # define EVP_R_BUFFER_TOO_SMALL 155
1526
+ # define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157
1527
+ # define EVP_R_CIPHER_PARAMETER_ERROR 122
1528
+ # define EVP_R_COMMAND_NOT_SUPPORTED 147
1529
+ # define EVP_R_COPY_ERROR 173
1530
+ # define EVP_R_CTRL_NOT_IMPLEMENTED 132
1531
+ # define EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED 133
1532
+ # define EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH 138
1533
+ # define EVP_R_DECODE_ERROR 114
1534
+ # define EVP_R_DIFFERENT_KEY_TYPES 101
1535
+ # define EVP_R_DIFFERENT_PARAMETERS 153
1536
+ # define EVP_R_ERROR_LOADING_SECTION 165
1537
+ # define EVP_R_ERROR_SETTING_FIPS_MODE 166
1538
+ # define EVP_R_EXPECTING_AN_HMAC_KEY 174
1539
+ # define EVP_R_EXPECTING_AN_RSA_KEY 127
1540
+ # define EVP_R_EXPECTING_A_DH_KEY 128
1541
+ # define EVP_R_EXPECTING_A_DSA_KEY 129
1542
+ # define EVP_R_EXPECTING_A_EC_KEY 142
1543
+ # define EVP_R_FIPS_MODE_NOT_SUPPORTED 167
1544
+ # define EVP_R_ILLEGAL_SCRYPT_PARAMETERS 171
1545
+ # define EVP_R_INITIALIZATION_ERROR 134
1546
+ # define EVP_R_INPUT_NOT_INITIALIZED 111
1547
+ # define EVP_R_INVALID_DIGEST 152
1548
+ # define EVP_R_INVALID_FIPS_MODE 168
1549
+ # define EVP_R_INVALID_KEY_LENGTH 130
1550
+ # define EVP_R_INVALID_OPERATION 148
1551
+ # define EVP_R_KEYGEN_FAILURE 120
1552
+ # define EVP_R_MEMORY_LIMIT_EXCEEDED 172
1553
+ # define EVP_R_MESSAGE_DIGEST_IS_NULL 159
1554
+ # define EVP_R_METHOD_NOT_SUPPORTED 144
1555
+ # define EVP_R_MISSING_PARAMETERS 103
1556
+ # define EVP_R_NO_CIPHER_SET 131
1557
+ # define EVP_R_NO_DEFAULT_DIGEST 158
1558
+ # define EVP_R_NO_DIGEST_SET 139
1559
+ # define EVP_R_NO_KEY_SET 154
1560
+ # define EVP_R_NO_OPERATION_SET 149
1561
+ # define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150
1562
+ # define EVP_R_OPERATON_NOT_INITIALIZED 151
1563
+ # define EVP_R_PARTIALLY_OVERLAPPING 162
1564
+ # define EVP_R_PRIVATE_KEY_DECODE_ERROR 145
1565
+ # define EVP_R_PRIVATE_KEY_ENCODE_ERROR 146
1566
+ # define EVP_R_PUBLIC_KEY_NOT_RSA 106
1567
+ # define EVP_R_UNKNOWN_CIPHER 160
1568
+ # define EVP_R_UNKNOWN_DIGEST 161
1569
+ # define EVP_R_UNKNOWN_OPTION 169
1570
+ # define EVP_R_UNKNOWN_PBE_ALGORITHM 121
1571
+ # define EVP_R_UNSUPPORTED_NUMBER_OF_ROUNDS 135
1572
+ # define EVP_R_UNSUPPORTED_ALGORITHM 156
1573
+ # define EVP_R_UNSUPPORTED_CIPHER 107
1574
+ # define EVP_R_UNSUPPORTED_KEYLENGTH 123
1575
+ # define EVP_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION 124
1576
+ # define EVP_R_UNSUPPORTED_KEY_SIZE 108
1577
+ # define EVP_R_UNSUPPORTED_PRF 125
1578
+ # define EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM 118
1579
+ # define EVP_R_UNSUPPORTED_SALT_TYPE 126
1580
+ # define EVP_R_WRAP_MODE_NOT_ALLOWED 170
1581
+ # define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109
1582
+
1583
+ # ifdef __cplusplus
1584
+ }
1585
+ # endif
1586
+ #endif