licentivo-launch 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +35 -0
  4. data/ext/launch_native/extconf.rb +28 -0
  5. data/lib/licentivo_launch/vendor/licentivo.rb +262 -0
  6. data/lib/licentivo_launch.rb +352 -0
  7. data/vendor/LICENSE +21 -0
  8. data/vendor/NOTICE +17 -0
  9. data/vendor/VERSION +1 -0
  10. data/vendor/c/app.c +33 -0
  11. data/vendor/c/demo.c +77 -0
  12. data/vendor/c/feature_tasks.h +72 -0
  13. data/vendor/c/licentivo.c +382 -0
  14. data/vendor/c/licentivo.h +67 -0
  15. data/vendor/c/quickstart.c +51 -0
  16. data/vendor/c/test_vectors.c +4 -0
  17. data/vendor/c/vendor/Monocypher-LICENCE.md +173 -0
  18. data/vendor/c/vendor/cJSON-LICENSE +20 -0
  19. data/vendor/c/vendor/cJSON.c +3191 -0
  20. data/vendor/c/vendor/cJSON.h +306 -0
  21. data/vendor/c/vendor/monocypher-ed25519.c +500 -0
  22. data/vendor/c/vendor/monocypher-ed25519.h +140 -0
  23. data/vendor/c/vendor/monocypher.c +2956 -0
  24. data/vendor/c/vendor/monocypher.h +321 -0
  25. data/vendor/curl/COPYING.txt +22 -0
  26. data/vendor/curl/bin/libcurl-x64.dll +0 -0
  27. data/vendor/curl/include/brotli/decode.h +409 -0
  28. data/vendor/curl/include/brotli/encode.h +505 -0
  29. data/vendor/curl/include/brotli/port.h +302 -0
  30. data/vendor/curl/include/brotli/shared_dictionary.h +100 -0
  31. data/vendor/curl/include/brotli/types.h +83 -0
  32. data/vendor/curl/include/curl/curl.h +3374 -0
  33. data/vendor/curl/include/curl/curlver.h +77 -0
  34. data/vendor/curl/include/curl/easy.h +123 -0
  35. data/vendor/curl/include/curl/header.h +74 -0
  36. data/vendor/curl/include/curl/mprintf.h +85 -0
  37. data/vendor/curl/include/curl/multi.h +561 -0
  38. data/vendor/curl/include/curl/options.h +70 -0
  39. data/vendor/curl/include/curl/stdcheaders.h +35 -0
  40. data/vendor/curl/include/curl/system.h +399 -0
  41. data/vendor/curl/include/curl/typecheck-gcc.h +964 -0
  42. data/vendor/curl/include/curl/urlapi.h +156 -0
  43. data/vendor/curl/include/curl/websockets.h +98 -0
  44. data/vendor/curl/include/libpsl.h +207 -0
  45. data/vendor/curl/include/libssh2.h +1516 -0
  46. data/vendor/curl/include/libssh2_publickey.h +128 -0
  47. data/vendor/curl/include/libssh2_sftp.h +382 -0
  48. data/vendor/curl/include/nghttp2/nghttp2.h +6878 -0
  49. data/vendor/curl/include/nghttp2/nghttp2ver.h +42 -0
  50. data/vendor/curl/include/nghttp3/nghttp3.h +3704 -0
  51. data/vendor/curl/include/nghttp3/version.h +46 -0
  52. data/vendor/curl/include/ngtcp2/ngtcp2.h +7485 -0
  53. data/vendor/curl/include/ngtcp2/ngtcp2_crypto.h +1071 -0
  54. data/vendor/curl/include/ngtcp2/ngtcp2_crypto_quictls.h +147 -0
  55. data/vendor/curl/include/ngtcp2/version.h +51 -0
  56. data/vendor/curl/include/openssl/aes.h +120 -0
  57. data/vendor/curl/include/openssl/asn1.h +1121 -0
  58. data/vendor/curl/include/openssl/asn1t.h +996 -0
  59. data/vendor/curl/include/openssl/bio.h +716 -0
  60. data/vendor/curl/include/openssl/blowfish.h +106 -0
  61. data/vendor/curl/include/openssl/bn.h +480 -0
  62. data/vendor/curl/include/openssl/buffer.h +102 -0
  63. data/vendor/curl/include/openssl/camellia.h +121 -0
  64. data/vendor/curl/include/openssl/cast.h +99 -0
  65. data/vendor/curl/include/openssl/chacha.h +54 -0
  66. data/vendor/curl/include/openssl/cmac.h +81 -0
  67. data/vendor/curl/include/openssl/cms.h +541 -0
  68. data/vendor/curl/include/openssl/comp.h +7 -0
  69. data/vendor/curl/include/openssl/conf.h +189 -0
  70. data/vendor/curl/include/openssl/crypto.h +458 -0
  71. data/vendor/curl/include/openssl/ct.h +567 -0
  72. data/vendor/curl/include/openssl/curve25519.h +104 -0
  73. data/vendor/curl/include/openssl/des.h +215 -0
  74. data/vendor/curl/include/openssl/dh.h +245 -0
  75. data/vendor/curl/include/openssl/dsa.h +263 -0
  76. data/vendor/curl/include/openssl/dtls1.h +107 -0
  77. data/vendor/curl/include/openssl/ec.h +675 -0
  78. data/vendor/curl/include/openssl/ecdh.h +6 -0
  79. data/vendor/curl/include/openssl/ecdsa.h +6 -0
  80. data/vendor/curl/include/openssl/engine.h +215 -0
  81. data/vendor/curl/include/openssl/err.h +325 -0
  82. data/vendor/curl/include/openssl/evp.h +1288 -0
  83. data/vendor/curl/include/openssl/hkdf.h +65 -0
  84. data/vendor/curl/include/openssl/hmac.h +101 -0
  85. data/vendor/curl/include/openssl/idea.h +99 -0
  86. data/vendor/curl/include/openssl/kdf.h +137 -0
  87. data/vendor/curl/include/openssl/lhash.h +179 -0
  88. data/vendor/curl/include/openssl/md4.h +105 -0
  89. data/vendor/curl/include/openssl/md5.h +99 -0
  90. data/vendor/curl/include/openssl/mlkem.h +236 -0
  91. data/vendor/curl/include/openssl/modes.h +118 -0
  92. data/vendor/curl/include/openssl/obj_mac.h +4646 -0
  93. data/vendor/curl/include/openssl/objects.h +137 -0
  94. data/vendor/curl/include/openssl/ocsp.h +484 -0
  95. data/vendor/curl/include/openssl/opensslconf.h +16 -0
  96. data/vendor/curl/include/openssl/opensslfeatures.h +153 -0
  97. data/vendor/curl/include/openssl/opensslv.h +18 -0
  98. data/vendor/curl/include/openssl/ossl_typ.h +196 -0
  99. data/vendor/curl/include/openssl/pem.h +542 -0
  100. data/vendor/curl/include/openssl/pkcs12.h +284 -0
  101. data/vendor/curl/include/openssl/pkcs7.h +523 -0
  102. data/vendor/curl/include/openssl/poly1305.h +45 -0
  103. data/vendor/curl/include/openssl/posix_time.h +54 -0
  104. data/vendor/curl/include/openssl/rand.h +118 -0
  105. data/vendor/curl/include/openssl/rc2.h +101 -0
  106. data/vendor/curl/include/openssl/rc4.h +88 -0
  107. data/vendor/curl/include/openssl/ripemd.h +107 -0
  108. data/vendor/curl/include/openssl/rsa.h +603 -0
  109. data/vendor/curl/include/openssl/safestack.h +1739 -0
  110. data/vendor/curl/include/openssl/sha.h +190 -0
  111. data/vendor/curl/include/openssl/sm3.h +49 -0
  112. data/vendor/curl/include/openssl/sm4.h +47 -0
  113. data/vendor/curl/include/openssl/srtp.h +148 -0
  114. data/vendor/curl/include/openssl/ssl.h +2336 -0
  115. data/vendor/curl/include/openssl/ssl3.h +441 -0
  116. data/vendor/curl/include/openssl/stack.h +99 -0
  117. data/vendor/curl/include/openssl/tls1.h +764 -0
  118. data/vendor/curl/include/openssl/ts.h +660 -0
  119. data/vendor/curl/include/openssl/txt_db.h +112 -0
  120. data/vendor/curl/include/openssl/ui.h +397 -0
  121. data/vendor/curl/include/openssl/x509.h +1037 -0
  122. data/vendor/curl/include/openssl/x509_vfy.h +464 -0
  123. data/vendor/curl/include/openssl/x509v3.h +1039 -0
  124. data/vendor/curl/include/zconf.h +206 -0
  125. data/vendor/curl/include/zdict.h +481 -0
  126. data/vendor/curl/include/zlib.h +1859 -0
  127. data/vendor/curl/include/zlib_name_mangling.h +8 -0
  128. data/vendor/curl/include/zstd.h +3198 -0
  129. data/vendor/curl/include/zstd_errors.h +107 -0
  130. data/vendor/curl/lib/libcurl.dll.a +0 -0
  131. data/vendor/curl/licenses/brotli/LICENSE.txt +19 -0
  132. data/vendor/curl/licenses/certdata/LICENSE.url +2 -0
  133. data/vendor/curl/licenses/libpsl/COPYING.txt +20 -0
  134. data/vendor/curl/licenses/libressl/COPYING.txt +133 -0
  135. data/vendor/curl/licenses/libssh2/COPYING.txt +43 -0
  136. data/vendor/curl/licenses/nghttp2/COPYING.txt +23 -0
  137. data/vendor/curl/licenses/nghttp3/COPYING.txt +22 -0
  138. data/vendor/curl/licenses/ngtcp2/COPYING.txt +22 -0
  139. data/vendor/curl/licenses/psl/LICENSE.txt +373 -0
  140. data/vendor/curl/licenses/trurl/COPYING.txt +22 -0
  141. data/vendor/curl/licenses/zlibng/LICENSE.md +19 -0
  142. data/vendor/curl/licenses/zstd/LICENSE.txt +30 -0
  143. metadata +205 -0
@@ -0,0 +1,603 @@
1
+ /* $OpenBSD: rsa.h,v 1.67 2025/01/25 17:59:44 tb Exp $ */
2
+ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3
+ * All rights reserved.
4
+ *
5
+ * This package is an SSL implementation written
6
+ * by Eric Young (eay@cryptsoft.com).
7
+ * The implementation was written so as to conform with Netscapes SSL.
8
+ *
9
+ * This library is free for commercial and non-commercial use as long as
10
+ * the following conditions are aheared to. The following conditions
11
+ * apply to all code found in this distribution, be it the RC4, RSA,
12
+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
13
+ * included with this distribution is covered by the same copyright terms
14
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15
+ *
16
+ * Copyright remains Eric Young's, and as such any Copyright notices in
17
+ * the code are not to be removed.
18
+ * If this package is used in a product, Eric Young should be given attribution
19
+ * as the author of the parts of the library used.
20
+ * This can be in the form of a textual message at program startup or
21
+ * in documentation (online or textual) provided with the package.
22
+ *
23
+ * Redistribution and use in source and binary forms, with or without
24
+ * modification, are permitted provided that the following conditions
25
+ * are met:
26
+ * 1. Redistributions of source code must retain the copyright
27
+ * notice, this list of conditions and the following disclaimer.
28
+ * 2. Redistributions in binary form must reproduce the above copyright
29
+ * notice, this list of conditions and the following disclaimer in the
30
+ * documentation and/or other materials provided with the distribution.
31
+ * 3. All advertising materials mentioning features or use of this software
32
+ * must display the following acknowledgement:
33
+ * "This product includes cryptographic software written by
34
+ * Eric Young (eay@cryptsoft.com)"
35
+ * The word 'cryptographic' can be left out if the rouines from the library
36
+ * being used are not cryptographic related :-).
37
+ * 4. If you include any Windows specific code (or a derivative thereof) from
38
+ * the apps directory (application code) you must include an acknowledgement:
39
+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40
+ *
41
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51
+ * SUCH DAMAGE.
52
+ *
53
+ * The licence and distribution terms for any publically available version or
54
+ * derivative of this code cannot be changed. i.e. this code cannot simply be
55
+ * copied and put under another distribution licence
56
+ * [including the GNU Public Licence.]
57
+ */
58
+
59
+ #ifndef HEADER_RSA_H
60
+ #define HEADER_RSA_H
61
+
62
+ #include <openssl/opensslconf.h>
63
+
64
+ #include <openssl/asn1.h>
65
+
66
+ #ifndef OPENSSL_NO_BIO
67
+ #include <openssl/bio.h>
68
+ #endif
69
+ #include <openssl/bn.h>
70
+ #include <openssl/crypto.h>
71
+
72
+ #include <openssl/ossl_typ.h>
73
+
74
+ #ifdef __cplusplus
75
+ extern "C" {
76
+ #endif
77
+
78
+ struct rsa_pss_params_st {
79
+ X509_ALGOR *hashAlgorithm;
80
+ X509_ALGOR *maskGenAlgorithm;
81
+ ASN1_INTEGER *saltLength;
82
+ ASN1_INTEGER *trailerField;
83
+
84
+ /* Hash algorithm decoded from maskGenAlgorithm. */
85
+ X509_ALGOR *maskHash;
86
+ } /* RSA_PSS_PARAMS */;
87
+
88
+ typedef struct rsa_oaep_params_st {
89
+ X509_ALGOR *hashFunc;
90
+ X509_ALGOR *maskGenFunc;
91
+ X509_ALGOR *pSourceFunc;
92
+
93
+ /* Hash algorithm decoded from maskGenFunc. */
94
+ X509_ALGOR *maskHash;
95
+ } RSA_OAEP_PARAMS;
96
+
97
+ #ifndef OPENSSL_RSA_MAX_MODULUS_BITS
98
+ # define OPENSSL_RSA_MAX_MODULUS_BITS 16384
99
+ #endif
100
+
101
+ #ifndef OPENSSL_RSA_SMALL_MODULUS_BITS
102
+ # define OPENSSL_RSA_SMALL_MODULUS_BITS 3072
103
+ #endif
104
+ #ifndef OPENSSL_RSA_MAX_PUBEXP_BITS
105
+ # define OPENSSL_RSA_MAX_PUBEXP_BITS 64 /* exponent limit enforced for "large" modulus only */
106
+ #endif
107
+
108
+ #define RSA_3 0x3L
109
+ #define RSA_F4 0x10001L
110
+
111
+ /* Don't check pub/private match. */
112
+ #define RSA_METHOD_FLAG_NO_CHECK 0x0001
113
+
114
+ #define RSA_FLAG_CACHE_PUBLIC 0x0002
115
+ #define RSA_FLAG_CACHE_PRIVATE 0x0004
116
+ #define RSA_FLAG_BLINDING 0x0008
117
+ #define RSA_FLAG_THREAD_SAFE 0x0010
118
+
119
+ /*
120
+ * This flag means the private key operations will be handled by rsa_mod_exp
121
+ * and that they do not depend on the private key components being present:
122
+ * for example a key stored in external hardware. Without this flag bn_mod_exp
123
+ * gets called when private key components are absent.
124
+ */
125
+ #define RSA_FLAG_EXT_PKEY 0x0020
126
+
127
+ /*
128
+ * This flag in the RSA_METHOD enables the new rsa_sign, rsa_verify functions.
129
+ */
130
+ #define RSA_FLAG_SIGN_VER 0x0040
131
+
132
+ /*
133
+ * The built-in RSA implementation uses blinding by default, but other engines
134
+ * might not need it.
135
+ */
136
+ #define RSA_FLAG_NO_BLINDING 0x0080
137
+
138
+ /* Salt length matches digest */
139
+ #define RSA_PSS_SALTLEN_DIGEST -1
140
+ /* Verify only: auto detect salt length */
141
+ #define RSA_PSS_SALTLEN_AUTO -2
142
+ /* Set salt length to maximum possible */
143
+ #define RSA_PSS_SALTLEN_MAX -3
144
+
145
+ #define EVP_PKEY_CTX_set_rsa_padding(ctx, pad) \
146
+ RSA_pkey_ctx_ctrl(ctx, -1, EVP_PKEY_CTRL_RSA_PADDING, pad, NULL)
147
+
148
+ #define EVP_PKEY_CTX_get_rsa_padding(ctx, ppad) \
149
+ RSA_pkey_ctx_ctrl(ctx, -1, EVP_PKEY_CTRL_GET_RSA_PADDING, 0, ppad)
150
+
151
+ #define EVP_PKEY_CTX_set_rsa_pss_saltlen(ctx, len) \
152
+ RSA_pkey_ctx_ctrl(ctx, (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \
153
+ EVP_PKEY_CTRL_RSA_PSS_SALTLEN, len, NULL)
154
+
155
+ #define EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(ctx, len) \
156
+ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN, \
157
+ EVP_PKEY_CTRL_RSA_PSS_SALTLEN, len, NULL)
158
+
159
+ #define EVP_PKEY_CTX_get_rsa_pss_saltlen(ctx, plen) \
160
+ RSA_pkey_ctx_ctrl(ctx, (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \
161
+ EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN, 0, plen)
162
+
163
+ #define EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, bits) \
164
+ RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, \
165
+ EVP_PKEY_CTRL_RSA_KEYGEN_BITS, bits, NULL)
166
+
167
+ #define EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, pubexp) \
168
+ RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_KEYGEN, \
169
+ EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP, 0, pubexp)
170
+
171
+ #define EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md) \
172
+ RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \
173
+ EVP_PKEY_CTRL_RSA_MGF1_MD, 0, (void *)(md))
174
+
175
+ #define EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(ctx, md) \
176
+ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, EVP_PKEY_OP_KEYGEN, \
177
+ EVP_PKEY_CTRL_RSA_MGF1_MD, 0, (void *)(md))
178
+
179
+ #define EVP_PKEY_CTX_set_rsa_oaep_md(ctx, md) \
180
+ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \
181
+ EVP_PKEY_CTRL_RSA_OAEP_MD, 0, (void *)(md))
182
+
183
+ #define EVP_PKEY_CTX_get_rsa_mgf1_md(ctx, pmd) \
184
+ RSA_pkey_ctx_ctrl(ctx, EVP_PKEY_OP_TYPE_SIG | EVP_PKEY_OP_TYPE_CRYPT, \
185
+ EVP_PKEY_CTRL_GET_RSA_MGF1_MD, 0, (void *)(pmd))
186
+
187
+ #define EVP_PKEY_CTX_get_rsa_oaep_md(ctx, pmd) \
188
+ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \
189
+ EVP_PKEY_CTRL_GET_RSA_OAEP_MD, 0, (void *)(pmd))
190
+
191
+ #define EVP_PKEY_CTX_set0_rsa_oaep_label(ctx, l, llen) \
192
+ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \
193
+ EVP_PKEY_CTRL_RSA_OAEP_LABEL, llen, (void *)(l))
194
+
195
+ #define EVP_PKEY_CTX_get0_rsa_oaep_label(ctx, l) \
196
+ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_CRYPT, \
197
+ EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL, 0, (void *)(l))
198
+
199
+ #define EVP_PKEY_CTX_set_rsa_pss_keygen_md(ctx, md) \
200
+ EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA_PSS, \
201
+ EVP_PKEY_OP_KEYGEN, EVP_PKEY_CTRL_MD, 0, (void *)(md))
202
+
203
+ #define EVP_PKEY_CTRL_RSA_PADDING (EVP_PKEY_ALG_CTRL + 1)
204
+ #define EVP_PKEY_CTRL_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 2)
205
+
206
+ #define EVP_PKEY_CTRL_RSA_KEYGEN_BITS (EVP_PKEY_ALG_CTRL + 3)
207
+ #define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP (EVP_PKEY_ALG_CTRL + 4)
208
+ #define EVP_PKEY_CTRL_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 5)
209
+
210
+ #define EVP_PKEY_CTRL_GET_RSA_PADDING (EVP_PKEY_ALG_CTRL + 6)
211
+ #define EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 7)
212
+ #define EVP_PKEY_CTRL_GET_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 8)
213
+
214
+ #define EVP_PKEY_CTRL_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 9)
215
+ #define EVP_PKEY_CTRL_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 10)
216
+
217
+ #define EVP_PKEY_CTRL_GET_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 11)
218
+ #define EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 12)
219
+
220
+ #define RSA_PKCS1_PADDING 1
221
+ #define RSA_SSLV23_PADDING 2
222
+ #define RSA_NO_PADDING 3
223
+ #define RSA_PKCS1_OAEP_PADDING 4
224
+ /* rust-openssl and erlang expose this and salt even uses it. */
225
+ #define RSA_X931_PADDING 5
226
+ /* EVP_PKEY_ only */
227
+ #define RSA_PKCS1_PSS_PADDING 6
228
+
229
+ #define RSA_PKCS1_PADDING_SIZE 11
230
+
231
+ #define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,arg)
232
+ #define RSA_get_app_data(s) RSA_get_ex_data(s,0)
233
+
234
+ RSA *RSA_new(void);
235
+ RSA *RSA_new_method(ENGINE *engine);
236
+ int RSA_bits(const RSA *rsa);
237
+ int RSA_size(const RSA *rsa);
238
+
239
+ /*
240
+ * Wrapped in OPENSSL_NO_DEPRECATED in 0.9.8. Still used for libressl bindings
241
+ * in rust-openssl.
242
+ */
243
+ RSA *RSA_generate_key(int bits, unsigned long e,
244
+ void (*callback)(int, int, void *), void *cb_arg);
245
+
246
+ /* New version */
247
+ int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb);
248
+
249
+ int RSA_check_key(const RSA *);
250
+ /* next 4 return -1 on error */
251
+ int RSA_public_encrypt(int flen, const unsigned char *from,
252
+ unsigned char *to, RSA *rsa, int padding);
253
+ int RSA_private_encrypt(int flen, const unsigned char *from,
254
+ unsigned char *to, RSA *rsa, int padding);
255
+ int RSA_public_decrypt(int flen, const unsigned char *from,
256
+ unsigned char *to, RSA *rsa, int padding);
257
+ int RSA_private_decrypt(int flen, const unsigned char *from,
258
+ unsigned char *to, RSA *rsa, int padding);
259
+ void RSA_free(RSA *r);
260
+ /* "up" the RSA object's reference count */
261
+ int RSA_up_ref(RSA *r);
262
+
263
+ int RSA_flags(const RSA *r);
264
+
265
+ void RSA_set_default_method(const RSA_METHOD *meth);
266
+ const RSA_METHOD *RSA_get_default_method(void);
267
+ const RSA_METHOD *RSA_get_method(const RSA *rsa);
268
+ int RSA_set_method(RSA *rsa, const RSA_METHOD *meth);
269
+
270
+ const RSA_METHOD *RSA_PKCS1_OpenSSL(void);
271
+ const RSA_METHOD *RSA_PKCS1_SSLeay(void);
272
+
273
+ int RSA_pkey_ctx_ctrl(EVP_PKEY_CTX *ctx, int optype, int cmd, int p1, void *p2);
274
+
275
+ RSA *d2i_RSAPublicKey(RSA **a, const unsigned char **in, long len);
276
+ int i2d_RSAPublicKey(const RSA *a, unsigned char **out);
277
+ extern const ASN1_ITEM RSAPublicKey_it;
278
+ RSA *d2i_RSAPrivateKey(RSA **a, const unsigned char **in, long len);
279
+ int i2d_RSAPrivateKey(const RSA *a, unsigned char **out);
280
+ extern const ASN1_ITEM RSAPrivateKey_it;
281
+
282
+ RSA_PSS_PARAMS *RSA_PSS_PARAMS_new(void);
283
+ void RSA_PSS_PARAMS_free(RSA_PSS_PARAMS *a);
284
+ RSA_PSS_PARAMS *d2i_RSA_PSS_PARAMS(RSA_PSS_PARAMS **a, const unsigned char **in, long len);
285
+ int i2d_RSA_PSS_PARAMS(RSA_PSS_PARAMS *a, unsigned char **out);
286
+ extern const ASN1_ITEM RSA_PSS_PARAMS_it;
287
+
288
+ RSA_OAEP_PARAMS *RSA_OAEP_PARAMS_new(void);
289
+ void RSA_OAEP_PARAMS_free(RSA_OAEP_PARAMS *a);
290
+ RSA_OAEP_PARAMS *d2i_RSA_OAEP_PARAMS(RSA_OAEP_PARAMS **a, const unsigned char **in, long len);
291
+ int i2d_RSA_OAEP_PARAMS(RSA_OAEP_PARAMS *a, unsigned char **out);
292
+ extern const ASN1_ITEM RSA_OAEP_PARAMS_it;
293
+
294
+ int RSA_print_fp(FILE *fp, const RSA *r, int offset);
295
+
296
+ #ifndef OPENSSL_NO_BIO
297
+ int RSA_print(BIO *bp, const RSA *r, int offset);
298
+ #endif
299
+
300
+ /* The following 2 functions sign and verify a X509_SIG ASN1 object
301
+ * inside PKCS#1 padded RSA encryption */
302
+ int RSA_sign(int type, const unsigned char *m, unsigned int m_length,
303
+ unsigned char *sigret, unsigned int *siglen, RSA *rsa);
304
+ int RSA_verify(int type, const unsigned char *m, unsigned int m_length,
305
+ const unsigned char *sigbuf, unsigned int siglen, RSA *rsa);
306
+
307
+ /* The following 2 function sign and verify a ASN1_OCTET_STRING
308
+ * object inside PKCS#1 padded RSA encryption */
309
+ int RSA_sign_ASN1_OCTET_STRING(int type, const unsigned char *m,
310
+ unsigned int m_length, unsigned char *sigret, unsigned int *siglen,
311
+ RSA *rsa);
312
+ int RSA_verify_ASN1_OCTET_STRING(int type, const unsigned char *m,
313
+ unsigned int m_length, unsigned char *sigbuf, unsigned int siglen,
314
+ RSA *rsa);
315
+
316
+ int RSA_blinding_on(RSA *rsa, BN_CTX *ctx);
317
+ void RSA_blinding_off(RSA *rsa);
318
+
319
+ int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen,
320
+ const unsigned char *f, int fl);
321
+ int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen,
322
+ const unsigned char *f, int fl, int rsa_len);
323
+ int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen,
324
+ const unsigned char *f, int fl);
325
+ int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen,
326
+ const unsigned char *f, int fl, int rsa_len);
327
+ int PKCS1_MGF1(unsigned char *mask, long len,
328
+ const unsigned char *seed, long seedlen, const EVP_MD *dgst);
329
+ int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen,
330
+ const unsigned char *f, int fl,
331
+ const unsigned char *p, int pl);
332
+ int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen,
333
+ const unsigned char *f, int fl, int rsa_len,
334
+ const unsigned char *p, int pl);
335
+ int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen,
336
+ const unsigned char *from, int flen, const unsigned char *param, int plen,
337
+ const EVP_MD *md, const EVP_MD *mgf1md);
338
+ int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen,
339
+ const unsigned char *from, int flen, int num, const unsigned char *param,
340
+ int plen, const EVP_MD *md, const EVP_MD *mgf1md);
341
+ int RSA_padding_add_none(unsigned char *to, int tlen,
342
+ const unsigned char *f, int fl);
343
+ int RSA_padding_check_none(unsigned char *to, int tlen,
344
+ const unsigned char *f, int fl, int rsa_len);
345
+
346
+ int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash,
347
+ const EVP_MD *Hash, const unsigned char *EM, int sLen);
348
+ int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM,
349
+ const unsigned char *mHash, const EVP_MD *Hash, int sLen);
350
+
351
+ int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash,
352
+ const EVP_MD *Hash, const EVP_MD *mgf1Hash, const unsigned char *EM,
353
+ int sLen);
354
+
355
+ int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM,
356
+ const unsigned char *mHash, const EVP_MD *Hash, const EVP_MD *mgf1Hash,
357
+ int sLen);
358
+
359
+ int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
360
+ CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
361
+ int RSA_set_ex_data(RSA *r, int idx, void *arg);
362
+ void *RSA_get_ex_data(const RSA *r, int idx);
363
+
364
+ int RSA_security_bits(const RSA *rsa);
365
+
366
+ void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e,
367
+ const BIGNUM **d);
368
+ int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
369
+ void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1,
370
+ const BIGNUM **iqmp);
371
+ int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp);
372
+ void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q);
373
+ int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q);
374
+ const BIGNUM *RSA_get0_n(const RSA *r);
375
+ const BIGNUM *RSA_get0_e(const RSA *r);
376
+ const BIGNUM *RSA_get0_d(const RSA *r);
377
+ const BIGNUM *RSA_get0_p(const RSA *r);
378
+ const BIGNUM *RSA_get0_q(const RSA *r);
379
+ const BIGNUM *RSA_get0_dmp1(const RSA *r);
380
+ const BIGNUM *RSA_get0_dmq1(const RSA *r);
381
+ const BIGNUM *RSA_get0_iqmp(const RSA *r);
382
+ const RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *r);
383
+ void RSA_clear_flags(RSA *r, int flags);
384
+ int RSA_test_flags(const RSA *r, int flags);
385
+ void RSA_set_flags(RSA *r, int flags);
386
+
387
+ RSA *RSAPublicKey_dup(RSA *rsa);
388
+ RSA *RSAPrivateKey_dup(RSA *rsa);
389
+
390
+ /* If this flag is set the RSA method is FIPS compliant and can be used
391
+ * in FIPS mode. This is set in the validated module method. If an
392
+ * application sets this flag in its own methods it is its responsibility
393
+ * to ensure the result is compliant.
394
+ */
395
+
396
+ #define RSA_FLAG_FIPS_METHOD 0x0400
397
+
398
+ /* If this flag is set the operations normally disabled in FIPS mode are
399
+ * permitted it is then the applications responsibility to ensure that the
400
+ * usage is compliant.
401
+ */
402
+
403
+ #define RSA_FLAG_NON_FIPS_ALLOW 0x0400
404
+ /* Application has decided PRNG is good enough to generate a key: don't
405
+ * check.
406
+ */
407
+ #define RSA_FLAG_CHECKED 0x0800
408
+
409
+ RSA_METHOD *RSA_meth_new(const char *name, int flags);
410
+ void RSA_meth_free(RSA_METHOD *meth);
411
+ RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth);
412
+ int RSA_meth_set1_name(RSA_METHOD *meth, const char *name);
413
+ int RSA_meth_set_priv_enc(RSA_METHOD *meth, int (*priv_enc)(int flen,
414
+ const unsigned char *from, unsigned char *to, RSA *rsa, int padding));
415
+ int RSA_meth_set_priv_dec(RSA_METHOD *meth, int (*priv_dec)(int flen,
416
+ const unsigned char *from, unsigned char *to, RSA *rsa, int padding));
417
+ int (*RSA_meth_get_finish(const RSA_METHOD *meth))(RSA *rsa);
418
+ int RSA_meth_set_finish(RSA_METHOD *meth, int (*finish)(RSA *rsa));
419
+ int RSA_meth_set_pub_enc(RSA_METHOD *meth, int (*pub_enc)(int flen,
420
+ const unsigned char *from, unsigned char *to, RSA *rsa, int padding));
421
+ int RSA_meth_set_pub_dec(RSA_METHOD *meth, int (*pub_dec)(int flen,
422
+ const unsigned char *from, unsigned char *to, RSA *rsa, int padding));
423
+ int RSA_meth_set_mod_exp(RSA_METHOD *meth, int (*mod_exp)(BIGNUM *r0,
424
+ const BIGNUM *i, RSA *rsa, BN_CTX *ctx));
425
+ int RSA_meth_set_bn_mod_exp(RSA_METHOD *meth, int (*bn_mod_exp)(BIGNUM *r,
426
+ const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx,
427
+ BN_MONT_CTX *m_ctx));
428
+ int RSA_meth_set_init(RSA_METHOD *meth, int (*init)(RSA *rsa));
429
+ int RSA_meth_set_keygen(RSA_METHOD *meth, int (*keygen)(RSA *rsa, int bits,
430
+ BIGNUM *e, BN_GENCB *cb));
431
+ int RSA_meth_set_flags(RSA_METHOD *meth, int flags);
432
+ int RSA_meth_set0_app_data(RSA_METHOD *meth, void *app_data);
433
+ const char *RSA_meth_get0_name(const RSA_METHOD *);
434
+ int (*RSA_meth_get_pub_enc(const RSA_METHOD *meth))(int flen,
435
+ const unsigned char *from, unsigned char *to, RSA *rsa, int padding);
436
+ int (*RSA_meth_get_pub_dec(const RSA_METHOD *meth))(int flen,
437
+ const unsigned char *from, unsigned char *to, RSA *rsa, int padding);
438
+ int (*RSA_meth_get_priv_enc(const RSA_METHOD *meth))(int flen,
439
+ const unsigned char *from, unsigned char *to, RSA *rsa, int padding);
440
+ int (*RSA_meth_get_priv_dec(const RSA_METHOD *meth))(int flen,
441
+ const unsigned char *from, unsigned char *to, RSA *rsa, int padding);
442
+ int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth))(BIGNUM *r0, const BIGNUM *i,
443
+ RSA *rsa, BN_CTX *ctx);
444
+ int (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth))(BIGNUM *r,
445
+ const BIGNUM *a, const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx,
446
+ BN_MONT_CTX *m_ctx);
447
+ int (*RSA_meth_get_init(const RSA_METHOD *meth))(RSA *rsa);
448
+ int (*RSA_meth_get_keygen(const RSA_METHOD *meth))(RSA *rsa, int bits, BIGNUM *e,
449
+ BN_GENCB *cb);
450
+ int RSA_meth_get_flags(const RSA_METHOD *meth);
451
+ void *RSA_meth_get0_app_data(const RSA_METHOD *meth);
452
+ int (*RSA_meth_get_sign(const RSA_METHOD *meth))(int type,
453
+ const unsigned char *m, unsigned int m_length,
454
+ unsigned char *sigret, unsigned int *siglen,
455
+ const RSA *rsa);
456
+ int RSA_meth_set_sign(RSA_METHOD *rsa, int (*sign)(int type,
457
+ const unsigned char *m, unsigned int m_length, unsigned char *sigret,
458
+ unsigned int *siglen, const RSA *rsa));
459
+ int (*RSA_meth_get_verify(const RSA_METHOD *meth))(int dtype,
460
+ const unsigned char *m, unsigned int m_length, const unsigned char *sigbuf,
461
+ unsigned int siglen, const RSA *rsa);
462
+ int RSA_meth_set_verify(RSA_METHOD *rsa, int (*verify)(int dtype,
463
+ const unsigned char *m, unsigned int m_length, const unsigned char *sigbuf,
464
+ unsigned int siglen, const RSA *rsa));
465
+
466
+
467
+ void ERR_load_RSA_strings(void);
468
+
469
+ /* Error codes for the RSA functions. */
470
+
471
+ /* Function codes. */
472
+ #define RSA_F_CHECK_PADDING_MD 140
473
+ #define RSA_F_DO_RSA_PRINT 146
474
+ #define RSA_F_INT_RSA_VERIFY 145
475
+ #define RSA_F_MEMORY_LOCK 100
476
+ #define RSA_F_OLD_RSA_PRIV_DECODE 147
477
+ #define RSA_F_PKEY_RSA_CTRL 143
478
+ #define RSA_F_PKEY_RSA_CTRL_STR 144
479
+ #define RSA_F_PKEY_RSA_SIGN 142
480
+ #define RSA_F_PKEY_RSA_VERIFY 154
481
+ #define RSA_F_PKEY_RSA_VERIFYRECOVER 141
482
+ #define RSA_F_RSA_BUILTIN_KEYGEN 129
483
+ #define RSA_F_RSA_CHECK_KEY 123
484
+ #define RSA_F_RSA_EAY_MOD_EXP 157
485
+ #define RSA_F_RSA_EAY_PRIVATE_DECRYPT 101
486
+ #define RSA_F_RSA_EAY_PRIVATE_ENCRYPT 102
487
+ #define RSA_F_RSA_EAY_PUBLIC_DECRYPT 103
488
+ #define RSA_F_RSA_EAY_PUBLIC_ENCRYPT 104
489
+ #define RSA_F_RSA_GENERATE_KEY 105
490
+ #define RSA_F_RSA_GENERATE_KEY_EX 155
491
+ #define RSA_F_RSA_ITEM_VERIFY 156
492
+ #define RSA_F_RSA_MEMORY_LOCK 130
493
+ #define RSA_F_RSA_NEW_METHOD 106
494
+ #define RSA_F_RSA_NULL 124
495
+ #define RSA_F_RSA_NULL_MOD_EXP 131
496
+ #define RSA_F_RSA_NULL_PRIVATE_DECRYPT 132
497
+ #define RSA_F_RSA_NULL_PRIVATE_ENCRYPT 133
498
+ #define RSA_F_RSA_NULL_PUBLIC_DECRYPT 134
499
+ #define RSA_F_RSA_NULL_PUBLIC_ENCRYPT 135
500
+ #define RSA_F_RSA_PADDING_ADD_NONE 107
501
+ #define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 121
502
+ #define RSA_F_RSA_PADDING_ADD_PKCS1_PSS 125
503
+ #define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1 148
504
+ #define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1 108
505
+ #define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2 109
506
+ #define RSA_F_RSA_PADDING_ADD_X931 127
507
+ #define RSA_F_RSA_PADDING_CHECK_NONE 111
508
+ #define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP 122
509
+ #define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1 112
510
+ #define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2 113
511
+ #define RSA_F_RSA_PADDING_CHECK_X931 128
512
+ #define RSA_F_RSA_PRINT 115
513
+ #define RSA_F_RSA_PRINT_FP 116
514
+ #define RSA_F_RSA_PRIVATE_DECRYPT 150
515
+ #define RSA_F_RSA_PRIVATE_ENCRYPT 151
516
+ #define RSA_F_RSA_PRIV_DECODE 137
517
+ #define RSA_F_RSA_PRIV_ENCODE 138
518
+ #define RSA_F_RSA_PUBLIC_DECRYPT 152
519
+ #define RSA_F_RSA_PUBLIC_ENCRYPT 153
520
+ #define RSA_F_RSA_PUB_DECODE 139
521
+ #define RSA_F_RSA_SETUP_BLINDING 136
522
+ #define RSA_F_RSA_SIGN 117
523
+ #define RSA_F_RSA_SIGN_ASN1_OCTET_STRING 118
524
+ #define RSA_F_RSA_VERIFY 119
525
+ #define RSA_F_RSA_VERIFY_ASN1_OCTET_STRING 120
526
+ #define RSA_F_RSA_VERIFY_PKCS1_PSS 126
527
+ #define RSA_F_RSA_VERIFY_PKCS1_PSS_MGF1 149
528
+
529
+ /* Reason codes. */
530
+ #define RSA_R_ALGORITHM_MISMATCH 100
531
+ #define RSA_R_BAD_E_VALUE 101
532
+ #define RSA_R_BAD_FIXED_HEADER_DECRYPT 102
533
+ #define RSA_R_BAD_PAD_BYTE_COUNT 103
534
+ #define RSA_R_BAD_SIGNATURE 104
535
+ #define RSA_R_BLOCK_TYPE_IS_NOT_01 106
536
+ #define RSA_R_BLOCK_TYPE_IS_NOT_02 107
537
+ #define RSA_R_DATA_GREATER_THAN_MOD_LEN 108
538
+ #define RSA_R_DATA_TOO_LARGE 109
539
+ #define RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 110
540
+ #define RSA_R_DATA_TOO_LARGE_FOR_MODULUS 132
541
+ #define RSA_R_DATA_TOO_SMALL 111
542
+ #define RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE 122
543
+ #define RSA_R_DIGEST_DOES_NOT_MATCH 158
544
+ #define RSA_R_DIGEST_NOT_ALLOWED 145
545
+ #define RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY 112
546
+ #define RSA_R_DMP1_NOT_CONGRUENT_TO_D 124
547
+ #define RSA_R_DMQ1_NOT_CONGRUENT_TO_D 125
548
+ #define RSA_R_D_E_NOT_CONGRUENT_TO_1 123
549
+ #define RSA_R_FIRST_OCTET_INVALID 133
550
+ #define RSA_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE 144
551
+ #define RSA_R_INVALID_DIGEST 157
552
+ #define RSA_R_INVALID_DIGEST_LENGTH 143
553
+ #define RSA_R_INVALID_HEADER 137
554
+ #define RSA_R_INVALID_KEYBITS 145
555
+ #define RSA_R_INVALID_LABEL 160
556
+ #define RSA_R_INVALID_MESSAGE_LENGTH 131
557
+ #define RSA_R_INVALID_MGF1_MD 156
558
+ #define RSA_R_INVALID_OAEP_PARAMETERS 161
559
+ #define RSA_R_INVALID_PADDING 138
560
+ #define RSA_R_INVALID_PADDING_MODE 141
561
+ #define RSA_R_INVALID_PSS_PARAMETERS 149
562
+ #define RSA_R_INVALID_PSS_SALTLEN 146
563
+ #define RSA_R_INVALID_SALT_LENGTH 150
564
+ #define RSA_R_INVALID_TRAILER 139
565
+ #define RSA_R_INVALID_X931_DIGEST 142
566
+ #define RSA_R_IQMP_NOT_INVERSE_OF_Q 126
567
+ #define RSA_R_KEY_SIZE_TOO_SMALL 120
568
+ #define RSA_R_LAST_OCTET_INVALID 134
569
+ #define RSA_R_MODULUS_TOO_LARGE 105
570
+ #define RSA_R_MGF1_DIGEST_NOT_ALLOWED 152
571
+ #define RSA_R_NON_FIPS_RSA_METHOD 157
572
+ #define RSA_R_NO_PUBLIC_EXPONENT 140
573
+ #define RSA_R_NULL_BEFORE_BLOCK_MISSING 113
574
+ #define RSA_R_N_DOES_NOT_EQUAL_P_Q 127
575
+ #define RSA_R_OAEP_DECODING_ERROR 121
576
+ #define RSA_R_OPERATION_NOT_ALLOWED_IN_FIPS_MODE 158
577
+ #define RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 148
578
+ #define RSA_R_PADDING_CHECK_FAILED 114
579
+ #define RSA_R_PSS_SALTLEN_TOO_SMALL 164
580
+ #define RSA_R_P_NOT_PRIME 128
581
+ #define RSA_R_Q_NOT_PRIME 129
582
+ #define RSA_R_RSA_OPERATIONS_NOT_SUPPORTED 130
583
+ #define RSA_R_SLEN_CHECK_FAILED 136
584
+ #define RSA_R_SLEN_RECOVERY_FAILED 135
585
+ #define RSA_R_SSLV3_ROLLBACK_ATTACK 115
586
+ #define RSA_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 116
587
+ #define RSA_R_UNKNOWN_ALGORITHM_TYPE 117
588
+ #define RSA_R_UNKNOWN_DIGEST 166
589
+ #define RSA_R_UNKNOWN_MASK_DIGEST 151
590
+ #define RSA_R_UNKNOWN_PADDING_TYPE 118
591
+ #define RSA_R_UNKNOWN_PSS_DIGEST 152
592
+ #define RSA_R_UNSUPPORTED_ENCRYPTION_TYPE 162
593
+ #define RSA_R_UNSUPPORTED_LABEL_SOURCE 163
594
+ #define RSA_R_UNSUPPORTED_MASK_ALGORITHM 153
595
+ #define RSA_R_UNSUPPORTED_MASK_PARAMETER 154
596
+ #define RSA_R_UNSUPPORTED_SIGNATURE_TYPE 155
597
+ #define RSA_R_VALUE_MISSING 147
598
+ #define RSA_R_WRONG_SIGNATURE_LENGTH 119
599
+
600
+ #ifdef __cplusplus
601
+ }
602
+ #endif
603
+ #endif