• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Keine Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

FFFTPのソースコードです。


Commit MetaInfo

Revision6797149e0f2d76c8902ca7a10d5fa903fdae5745 (tree)
Zeit2014-10-17 00:03:38
Autors_kawamoto <s_kawamoto@user...>
Commiters_kawamoto

Log Message

Update OpenSSL to 1.0.1j.

Ändern Zusammenfassung

Diff

Binary files a/FFFTP_Eng_Release/FFFTP.exe and b/FFFTP_Eng_Release/FFFTP.exe differ
Binary files a/Release/FFFTP.exe and b/Release/FFFTP.exe differ
Binary files a/contrib/openssl/bin/libeay32.dll and b/contrib/openssl/bin/libeay32.dll differ
Binary files a/contrib/openssl/bin/ssleay32.dll and b/contrib/openssl/bin/ssleay32.dll differ
--- a/contrib/openssl/changes.txt
+++ b/contrib/openssl/changes.txt
@@ -2,6 +2,57 @@
22 OpenSSL CHANGES
33 _______________
44
5+ Changes between 1.0.1i and 1.0.1j [15 Oct 2014]
6+
7+ *) SRTP Memory Leak.
8+
9+ A flaw in the DTLS SRTP extension parsing code allows an attacker, who
10+ sends a carefully crafted handshake message, to cause OpenSSL to fail
11+ to free up to 64k of memory causing a memory leak. This could be
12+ exploited in a Denial Of Service attack. This issue affects OpenSSL
13+ 1.0.1 server implementations for both SSL/TLS and DTLS regardless of
14+ whether SRTP is used or configured. Implementations of OpenSSL that
15+ have been compiled with OPENSSL_NO_SRTP defined are not affected.
16+
17+ The fix was developed by the OpenSSL team.
18+ (CVE-2014-3513)
19+ [OpenSSL team]
20+
21+ *) Session Ticket Memory Leak.
22+
23+ When an OpenSSL SSL/TLS/DTLS server receives a session ticket the
24+ integrity of that ticket is first verified. In the event of a session
25+ ticket integrity check failing, OpenSSL will fail to free memory
26+ causing a memory leak. By sending a large number of invalid session
27+ tickets an attacker could exploit this issue in a Denial Of Service
28+ attack.
29+ (CVE-2014-3567)
30+ [Steve Henson]
31+
32+ *) Build option no-ssl3 is incomplete.
33+
34+ When OpenSSL is configured with "no-ssl3" as a build option, servers
35+ could accept and complete a SSL 3.0 handshake, and clients could be
36+ configured to send them.
37+ (CVE-2014-3568)
38+ [Akamai and the OpenSSL team]
39+
40+ *) Add support for TLS_FALLBACK_SCSV.
41+ Client applications doing fallback retries should call
42+ SSL_set_mode(s, SSL_MODE_SEND_FALLBACK_SCSV).
43+ (CVE-2014-3566)
44+ [Adam Langley, Bodo Moeller]
45+
46+ *) Add additional DigestInfo checks.
47+
48+ Reencode DigestInto in DER and check against the original when
49+ verifying RSA signature: this will reject any improperly encoded
50+ DigestInfo structures.
51+
52+ Note: this is a precautionary measure and no attacks are currently known.
53+
54+ [Steve Henson]
55+
556 Changes between 1.0.1h and 1.0.1i [6 Aug 2014]
657
758 *) Fix SRP buffer overrun vulnerability. Invalid parameters passed to the
--- a/contrib/openssl/include/openssl/dtls1.h
+++ b/contrib/openssl/include/openssl/dtls1.h
@@ -84,6 +84,8 @@ extern "C" {
8484 #endif
8585
8686 #define DTLS1_VERSION 0xFEFF
87+#define DTLS_MAX_VERSION DTLS1_VERSION
88+
8789 #define DTLS1_BAD_VER 0x0100
8890
8991 #if 0
@@ -284,4 +286,3 @@ typedef struct dtls1_record_data_st
284286 }
285287 #endif
286288 #endif
287-
--- a/contrib/openssl/include/openssl/ebcdic.h
+++ b/contrib/openssl/include/openssl/ebcdic.h
@@ -5,6 +5,10 @@
55
66 #include <sys/types.h>
77
8+#ifdef __cplusplus
9+extern "C" {
10+#endif
11+
812 /* Avoid name clashes with other applications */
913 #define os_toascii _openssl_os_toascii
1014 #define os_toebcdic _openssl_os_toebcdic
@@ -16,4 +20,7 @@ extern const unsigned char os_toebcdic[256];
1620 void *ebcdic2ascii(void *dest, const void *srce, size_t count);
1721 void *ascii2ebcdic(void *dest, const void *srce, size_t count);
1822
23+#ifdef __cplusplus
24+}
25+#endif
1926 #endif
--- a/contrib/openssl/include/openssl/ec.h
+++ b/contrib/openssl/include/openssl/ec.h
@@ -629,7 +629,7 @@ int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, BN
629629 int EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx);
630630 int EC_POINTs_make_affine(const EC_GROUP *group, size_t num, EC_POINT *points[], BN_CTX *ctx);
631631
632-/** Computes r = generator * n sum_{i=0}^num p[i] * m[i]
632+/** Computes r = generator * n sum_{i=0}^{num-1} p[i] * m[i]
633633 * \param group underlying EC_GROUP object
634634 * \param r EC_POINT object for the result
635635 * \param n BIGNUM with the multiplier for the group generator (optional)
--- a/contrib/openssl/include/openssl/modes.h
+++ b/contrib/openssl/include/openssl/modes.h
@@ -7,6 +7,9 @@
77
88 #include <stddef.h>
99
10+#ifdef __cplusplus
11+extern "C" {
12+#endif
1013 typedef void (*block128_f)(const unsigned char in[16],
1114 unsigned char out[16],
1215 const void *key);
@@ -133,3 +136,6 @@ typedef struct xts128_context XTS128_CONTEXT;
133136
134137 int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char iv[16],
135138 const unsigned char *inp, unsigned char *out, size_t len, int enc);
139+#ifdef __cplusplus
140+}
141+#endif
--- a/contrib/openssl/include/openssl/opensslconf.h
+++ b/contrib/openssl/include/openssl/opensslconf.h
@@ -1,6 +1,9 @@
11 /* opensslconf.h */
22 /* WARNING: Generated automatically from opensslconf.h.in by Configure. */
33
4+#ifdef __cplusplus
5+extern "C" {
6+#endif
47 /* OpenSSL was configured with the following options: */
58 #ifndef OPENSSL_SYSNAME_WIN32
69 # define OPENSSL_SYSNAME_WIN32
@@ -239,3 +242,6 @@ YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
239242
240243 #endif /* DES_DEFAULT_OPTIONS */
241244 #endif /* HEADER_DES_LOCL_H */
245+#ifdef __cplusplus
246+}
247+#endif
--- a/contrib/openssl/include/openssl/opensslv.h
+++ b/contrib/openssl/include/openssl/opensslv.h
@@ -1,6 +1,10 @@
11 #ifndef HEADER_OPENSSLV_H
22 #define HEADER_OPENSSLV_H
33
4+#ifdef __cplusplus
5+extern "C" {
6+#endif
7+
48 /* Numeric release version identifier:
59 * MNNFFPPS: major minor fix patch status
610 * The status nibble has one of the values 0 for development, 1 to e for betas
@@ -25,11 +29,11 @@
2529 * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
2630 * major minor fix final patch/beta)
2731 */
28-#define OPENSSL_VERSION_NUMBER 0x1000109fL
32+#define OPENSSL_VERSION_NUMBER 0x100010afL
2933 #ifdef OPENSSL_FIPS
30-#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.1i-fips 6 Aug 2014"
34+#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.1j-fips 15 Oct 2014"
3135 #else
32-#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.1i 6 Aug 2014"
36+#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.1j 15 Oct 2014"
3337 #endif
3438 #define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT
3539
@@ -86,4 +90,7 @@
8690 #define SHLIB_VERSION_NUMBER "1.0.0"
8791
8892
93+#ifdef __cplusplus
94+}
95+#endif
8996 #endif /* HEADER_OPENSSLV_H */
--- a/contrib/openssl/include/openssl/ossl_typ.h
+++ b/contrib/openssl/include/openssl/ossl_typ.h
@@ -55,6 +55,10 @@
5555 #ifndef HEADER_OPENSSL_TYPES_H
5656 #define HEADER_OPENSSL_TYPES_H
5757
58+#ifdef __cplusplus
59+extern "C" {
60+#endif
61+
5862 #include <openssl/e_os2.h>
5963
6064 #ifdef NO_ASN1_TYPEDEFS
@@ -199,4 +203,7 @@ typedef struct ocsp_req_ctx_st OCSP_REQ_CTX;
199203 typedef struct ocsp_response_st OCSP_RESPONSE;
200204 typedef struct ocsp_responder_id_st OCSP_RESPID;
201205
206+#ifdef __cplusplus
207+}
208+#endif
202209 #endif /* def HEADER_OPENSSL_TYPES_H */
--- a/contrib/openssl/include/openssl/pkcs7.h
+++ b/contrib/openssl/include/openssl/pkcs7.h
@@ -233,10 +233,6 @@ DECLARE_PKCS12_STACK_OF(PKCS7)
233233 (OBJ_obj2nid((a)->type) == NID_pkcs7_signedAndEnveloped)
234234 #define PKCS7_type_is_data(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_data)
235235 #define PKCS7_type_is_digest(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_digest)
236-#define PKCS7_type_is_encrypted(a) \
237- (OBJ_obj2nid((a)->type) == NID_pkcs7_encrypted)
238-
239-#define PKCS7_type_is_digest(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_digest)
240236
241237 #define PKCS7_set_detached(p,v) \
242238 PKCS7_ctrl(p,PKCS7_OP_SET_DETACHED_SIGNATURE,v,NULL)
--- a/contrib/openssl/include/openssl/pqueue.h
+++ b/contrib/openssl/include/openssl/pqueue.h
@@ -64,6 +64,9 @@
6464 #include <stdlib.h>
6565 #include <string.h>
6666
67+#ifdef __cplusplus
68+extern "C" {
69+#endif
6770 typedef struct _pqueue *pqueue;
6871
6972 typedef struct _pitem
@@ -91,4 +94,7 @@ pitem *pqueue_next(piterator *iter);
9194 void pqueue_print(pqueue pq);
9295 int pqueue_size(pqueue pq);
9396
97+#ifdef __cplusplus
98+}
99+#endif
94100 #endif /* ! HEADER_PQUEUE_H */
--- a/contrib/openssl/include/openssl/rsa.h
+++ b/contrib/openssl/include/openssl/rsa.h
@@ -559,6 +559,7 @@ void ERR_load_RSA_strings(void);
559559 #define RSA_R_OPERATION_NOT_ALLOWED_IN_FIPS_MODE 158
560560 #define RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 148
561561 #define RSA_R_PADDING_CHECK_FAILED 114
562+#define RSA_R_PKCS_DECODING_ERROR 159
562563 #define RSA_R_P_NOT_PRIME 128
563564 #define RSA_R_Q_NOT_PRIME 129
564565 #define RSA_R_RSA_OPERATIONS_NOT_SUPPORTED 130
--- a/contrib/openssl/include/openssl/safestack.h
+++ b/contrib/openssl/include/openssl/safestack.h
@@ -57,6 +57,10 @@
5757
5858 #include <openssl/stack.h>
5959
60+#ifdef __cplusplus
61+extern "C" {
62+#endif
63+
6064 #ifndef CHECKED_PTR_OF
6165 #define CHECKED_PTR_OF(type, p) \
6266 ((void*) (1 ? p : (type*)0))
@@ -2660,4 +2664,8 @@ DECLARE_SPECIAL_STACK_OF(OPENSSL_BLOCK, void)
26602664 #define lh_SSL_SESSION_free(lh) LHM_lh_free(SSL_SESSION,lh)
26612665 /* End of util/mkstack.pl block, you may now edit :-) */
26622666
2667+
2668+#ifdef __cplusplus
2669+}
2670+#endif
26632671 #endif /* !defined HEADER_SAFESTACK_H */
--- a/contrib/openssl/include/openssl/srtp.h
+++ b/contrib/openssl/include/openssl/srtp.h
@@ -130,6 +130,8 @@ extern "C" {
130130 #define SRTP_NULL_SHA1_80 0x0005
131131 #define SRTP_NULL_SHA1_32 0x0006
132132
133+#ifndef OPENSSL_NO_SRTP
134+
133135 int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles);
134136 int SSL_set_tlsext_use_srtp(SSL *ctx, const char *profiles);
135137 SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s);
@@ -137,6 +139,8 @@ SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s);
137139 STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl);
138140 SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s);
139141
142+#endif
143+
140144 #ifdef __cplusplus
141145 }
142146 #endif
--- a/contrib/openssl/include/openssl/ssl.h
+++ b/contrib/openssl/include/openssl/ssl.h
@@ -653,6 +653,10 @@ struct ssl_session_st
653653 */
654654 #define SSL_MODE_SEND_CLIENTHELLO_TIME 0x00000020L
655655 #define SSL_MODE_SEND_SERVERHELLO_TIME 0x00000040L
656+/* Send TLS_FALLBACK_SCSV in the ClientHello.
657+ * To be set by applications that reconnect with a downgraded protocol
658+ * version; see draft-ietf-tls-downgrade-scsv-00 for details. */
659+#define SSL_MODE_SEND_FALLBACK_SCSV 0x00000080L
656660
657661 /* Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value,
658662 * they cannot be used to clear bits. */
@@ -1511,6 +1515,7 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
15111515 #define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE
15121516 #define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE
15131517 #define SSL_AD_UNKNOWN_PSK_IDENTITY TLS1_AD_UNKNOWN_PSK_IDENTITY /* fatal */
1518+#define SSL_AD_INAPPROPRIATE_FALLBACK TLS1_AD_INAPPROPRIATE_FALLBACK /* fatal */
15141519
15151520 #define SSL_ERROR_NONE 0
15161521 #define SSL_ERROR_SSL 1
@@ -1621,6 +1626,8 @@ DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION)
16211626 #define SSL_CTRL_GET_EXTRA_CHAIN_CERTS 82
16221627 #define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS 83
16231628
1629+#define SSL_CTRL_CHECK_PROTO_VERSION 119
1630+
16241631 #define DTLSv1_get_timeout(ssl, arg) \
16251632 SSL_ctrl(ssl,DTLS_CTRL_GET_TIMEOUT,0, (void *)arg)
16261633 #define DTLSv1_handle_timeout(ssl) \
@@ -2379,6 +2386,7 @@ void ERR_load_SSL_strings(void);
23792386 #define SSL_R_HTTPS_PROXY_REQUEST 155
23802387 #define SSL_R_HTTP_REQUEST 156
23812388 #define SSL_R_ILLEGAL_PADDING 283
2389+#define SSL_R_INAPPROPRIATE_FALLBACK 373
23822390 #define SSL_R_INCONSISTENT_COMPRESSION 340
23832391 #define SSL_R_INVALID_CHALLENGE_LENGTH 158
23842392 #define SSL_R_INVALID_COMMAND 280
@@ -2525,6 +2533,7 @@ void ERR_load_SSL_strings(void);
25252533 #define SSL_R_TLSV1_ALERT_DECRYPTION_FAILED 1021
25262534 #define SSL_R_TLSV1_ALERT_DECRYPT_ERROR 1051
25272535 #define SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION 1060
2536+#define SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK 1086
25282537 #define SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY 1071
25292538 #define SSL_R_TLSV1_ALERT_INTERNAL_ERROR 1080
25302539 #define SSL_R_TLSV1_ALERT_NO_RENEGOTIATION 1100
--- a/contrib/openssl/include/openssl/ssl3.h
+++ b/contrib/openssl/include/openssl/ssl3.h
@@ -128,9 +128,14 @@
128128 extern "C" {
129129 #endif
130130
131-/* Signalling cipher suite value: from draft-ietf-tls-renegotiation-03.txt */
131+/* Signalling cipher suite value from RFC 5746
132+ * (TLS_EMPTY_RENEGOTIATION_INFO_SCSV) */
132133 #define SSL3_CK_SCSV 0x030000FF
133134
135+/* Signalling cipher suite value from draft-ietf-tls-downgrade-scsv-00
136+ * (TLS_FALLBACK_SCSV) */
137+#define SSL3_CK_FALLBACK_SCSV 0x03005600
138+
134139 #define SSL3_CK_RSA_NULL_MD5 0x03000001
135140 #define SSL3_CK_RSA_NULL_SHA 0x03000002
136141 #define SSL3_CK_RSA_RC4_40_MD5 0x03000003
--- a/contrib/openssl/include/openssl/tls1.h
+++ b/contrib/openssl/include/openssl/tls1.h
@@ -159,17 +159,19 @@ extern "C" {
159159
160160 #define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES 0
161161
162+#define TLS1_VERSION 0x0301
163+#define TLS1_1_VERSION 0x0302
162164 #define TLS1_2_VERSION 0x0303
163-#define TLS1_2_VERSION_MAJOR 0x03
164-#define TLS1_2_VERSION_MINOR 0x03
165+#define TLS_MAX_VERSION TLS1_2_VERSION
166+
167+#define TLS1_VERSION_MAJOR 0x03
168+#define TLS1_VERSION_MINOR 0x01
165169
166-#define TLS1_1_VERSION 0x0302
167170 #define TLS1_1_VERSION_MAJOR 0x03
168171 #define TLS1_1_VERSION_MINOR 0x02
169172
170-#define TLS1_VERSION 0x0301
171-#define TLS1_VERSION_MAJOR 0x03
172-#define TLS1_VERSION_MINOR 0x01
173+#define TLS1_2_VERSION_MAJOR 0x03
174+#define TLS1_2_VERSION_MINOR 0x03
173175
174176 #define TLS1_get_version(s) \
175177 ((s->version >> 8) == TLS1_VERSION_MAJOR ? s->version : 0)
@@ -187,6 +189,7 @@ extern "C" {
187189 #define TLS1_AD_PROTOCOL_VERSION 70 /* fatal */
188190 #define TLS1_AD_INSUFFICIENT_SECURITY 71 /* fatal */
189191 #define TLS1_AD_INTERNAL_ERROR 80 /* fatal */
192+#define TLS1_AD_INAPPROPRIATE_FALLBACK 86 /* fatal */
190193 #define TLS1_AD_USER_CANCELLED 90
191194 #define TLS1_AD_NO_RENEGOTIATION 100
192195 /* codes 110-114 are from RFC3546 */
--- a/contrib/openssl/news.txt
+++ b/contrib/openssl/news.txt
@@ -5,6 +5,13 @@
55 This file gives a brief overview of the major changes between each OpenSSL
66 release. For more details please read the CHANGES file.
77
8+ Major changes between OpenSSL 1.0.1i and OpenSSL 1.0.1j [15 Oct 2014]
9+
10+ o Fix for CVE-2014-3513
11+ o Fix for CVE-2014-3567
12+ o Mitigation for CVE-2014-3566 (SSL protocol vulnerability)
13+ o Fix for CVE-2014-3568
14+
815 Major changes between OpenSSL 1.0.1h and OpenSSL 1.0.1i [6 Aug 2014]
916
1017 o Fix for CVE-2014-3512
--- a/contrib/openssl/readme.txt
+++ b/contrib/openssl/readme.txt
@@ -1,5 +1,5 @@
11
2- OpenSSL 1.0.1i 6 Aug 2014
2+ OpenSSL 1.0.1j 15 Oct 2014
33
44 Copyright (c) 1998-2011 The OpenSSL Project
55 Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
Binary files a/dist/amd64/libeay32.dll and b/dist/amd64/libeay32.dll differ
Binary files a/dist/amd64/ssleay32.dll and b/dist/amd64/ssleay32.dll differ
Binary files a/dist/libeay32.dll and b/dist/libeay32.dll differ
Binary files a/dist/ssleay32.dll and b/dist/ssleay32.dll differ
--- a/socketwrapper.c
+++ b/socketwrapper.c
@@ -153,15 +153,15 @@ BOOL LoadOpenSSL()
153153 #ifdef ENABLE_PROCESS_PROTECTION
154154 // 同梱するOpenSSLのバージョンに合わせてSHA1ハッシュ値を変更すること
155155 #if defined(_M_IX86)
156- // ssleay32.dll 1.0.1i
157- RegisterTrustedModuleSHA1Hash("\xA0\x76\x7F\x44\x19\x91\x72\xFB\xF5\x0E\x03\xC7\x79\xE9\x4B\x4D\x72\x95\xED\x5C");
158- // libeay32.dll 1.0.1i
159- RegisterTrustedModuleSHA1Hash("\x79\xDC\x7A\x43\x8D\x4B\x57\x60\xE6\xBE\x18\x98\xD4\x9A\x36\x99\x74\x6C\x16\x06");
156+ // ssleay32.dll 1.0.1j
157+ RegisterTrustedModuleSHA1Hash("\x57\x83\x70\x2D\x44\x8F\x1F\xB3\x83\xC2\xC1\x93\xB5\x92\xC8\x14\xFE\x2B\x31\x59");
158+ // libeay32.dll 1.0.1j
159+ RegisterTrustedModuleSHA1Hash("\x66\x15\x03\xCA\xFB\x5C\x08\x96\x4B\x80\x9A\x55\x14\xDB\x1F\x12\x4A\x9C\x53\x52");
160160 #elif defined(_M_AMD64)
161- // ssleay32.dll 1.0.1i
162- RegisterTrustedModuleSHA1Hash("\x1E\x93\xF0\x23\xBB\x19\x62\x0C\x8A\x82\x1C\xE6\x4B\x68\x62\xE9\xB0\x7D\x37\x5C");
163- // libeay32.dll 1.0.1i
164- RegisterTrustedModuleSHA1Hash("\xF1\x77\xF4\x51\x23\xDF\x0F\x71\x33\xC5\x8C\xCF\xCF\x64\x09\xEF\xF9\x23\x1B\x30");
161+ // ssleay32.dll 1.0.1j
162+ RegisterTrustedModuleSHA1Hash("\x4C\xBD\xC5\x05\xB5\xB2\x48\xA8\xC2\x0B\xE4\xB3\x17\x02\x9C\x32\xE2\x84\x87\xA9");
163+ // libeay32.dll 1.0.1j
164+ RegisterTrustedModuleSHA1Hash("\xF7\x31\xBF\xF6\x2C\x51\xBA\x00\x38\x7E\x76\x2F\x8B\xB3\xF9\x52\x5D\xED\xA4\xE6");
165165 #endif
166166 #endif
167167 g_hOpenSSL = LoadLibrary("ssleay32.dll");