Browse Source

Update patches

aeris 2 years ago
parent
commit
7ec4b5a45f
4 changed files with 93 additions and 70 deletions
  1. 31
    13
      Makefile
  2. 21
    7
      fallback_scsv.patch
  3. 32
    41
      set_ecdh_curves.patch
  4. 9
    9
      tmp_key.patch

+ 31
- 13
Makefile View File

@@ -1,20 +1,18 @@
1 1
 PWD = $(shell pwd)
2
-export CPATH = $(PWD)/openssl/include
3
-export LIBRARY_PATH = $(PWD)/openssl
4 2
 OPENSSL_LIB_VERSION = 1.0.0
5 3
 OPENSSL_VERSION = 1.0.2g
6
-#OPENSSL_LIB_VERSION = 1.1
7
-#OPENSSL_VERSION = 1.1.0-pre5
8 4
 OPENSSL_NAME = openssl-$(OPENSSL_VERSION)
9 5
 OPENSSL_DIR = build/$(OPENSSL_NAME)
10
-#OPENSSL_DIR = openssl
11 6
 RUBY_MAJOR_VERSION = 2.3
12
-RUBY_VERSION = $(RUBY_MAJOR_VERSION).1
7
+RUBY_VERSION = $(RUBY_MAJOR_VERSION).3
13 8
 RUBY_NAME = ruby-$(RUBY_VERSION)
14 9
 RUBY_DIR = build/$(RUBY_NAME)
15 10
 RUBY_OPENSSL_EXT_DIR = $(RUBY_DIR)/ext/openssl
11
+RUBY_LIB_DIR = $(RBENV_ROOT)/versions/$(RUBY_VERSION)-cryptcheck/lib/ruby/$(RUBY_MAJOR_VERSION).0
12
+RBENV_ROOT ?= ~/.rbenv
16 13
 export LIBRARY_PATH = $(PWD)/lib
17 14
 export C_INCLUDE_PATH = $(PWD)/$(OPENSSL_DIR)/include
15
+export LD_LIBRARY_PATH = $(PWD)/lib
18 16
 
19 17
 .SECONDARY:
20 18
 
@@ -45,25 +43,45 @@ build/$(OPENSSL_NAME).tar.gz: | build/
45 43
 
46 44
 $(OPENSSL_DIR)/: build/$(OPENSSL_NAME).tar.gz build/chacha-poly.patch
47 45
 	tar -C build -xf build/$(OPENSSL_NAME).tar.gz
48
-	patch -d $(OPENSSL_DIR) -p1 < build/chacha-poly.patch
46
+	#patch -d $(OPENSSL_DIR) -p1 < build/chacha-poly.patch
49 47
 
50 48
 $(OPENSSL_DIR)/Makefile: | $(OPENSSL_DIR)/
51
-	cd $(OPENSSL_DIR) && ./Configure enable-ssl2 enable-ssl3 enable-weak-ssl-ciphers enable-shared linux-x86_64
49
+	#cd $(OPENSSL_DIR) && ./Configure enable-ssl2 enable-ssl3 enable-weak-ssl-ciphers enable-zlib enable-rc5 enable-rc2 enable-gost enable-md2 enable-mdc2 enable-shared linux-x86_64
50
+	#cd $(OPENSSL_DIR) && ./config enable-ssl2 enable-ssl3 enable-md2 enable-rc5 enable-weak-ssl-ciphers shared
51
+	cd $(OPENSSL_DIR) && ./config enable-ssl2 enable-ssl3 enable-ssl3-method enable-md2 enable-rc5 enable-weak-ssl-ciphers enable-shared
52 52
 
53 53
 $(OPENSSL_DIR)/libssl.so \
54 54
 $(OPENSSL_DIR)/libcrypto.so: $(OPENSSL_DIR)/Makefile
55 55
 	$(MAKE) -C $(OPENSSL_DIR)
56 56
 
57
+LIBS = lib/libssl.so lib/libcrypto.so lib/libssl.so.$(OPENSSL_LIB_VERSION) lib/libcrypto.so.$(OPENSSL_LIB_VERSION)
57 58
 lib/%.so: $(OPENSSL_DIR)/%.so
58 59
 	cp $< $@
59 60
 lib/%.so.$(OPENSSL_LIB_VERSION): lib/%.so
60 61
 	ln -fs $(notdir $(subst .$(OPENSSL_LIB_VERSION),,$@)) $@
61
-libs: lib/libssl.so lib/libcrypto.so lib/libssl.so.$(OPENSSL_LIB_VERSION) lib/libcrypto.so.$(OPENSSL_LIB_VERSION)
62
+libs: $(LIBS)
62 63
 
63
-build/$(RUBY_NAME).tar.gz: | build/
64
-	wget http://cache.ruby-lang.org/pub/ruby/$(RUBY_MAJOR_VERSION)/$(RUBY_NAME).tar.gz -O $@
64
+build/$(RUBY_VERSION)-cryptcheck: $(RBENV_ROOT)/plugins/ruby-build/share/ruby-build/$(RUBY_VERSION)
65
+	cp $< $@
66
+install-ruby: build/$(RUBY_VERSION)-cryptcheck $(LIBS) | $(OPENSSL_DIR)/
67
+	cat tmp_key.patch set_ecdh_curves.patch fallback_scsv.patch | \
68
+	RUBY_BUILD_CACHE_PATH=$(PWD)/build \
69
+	RUBY_BUILD_DEFINITIONS=$(PWD)/build \
70
+	rbenv install -fp $(RUBY_VERSION)-cryptcheck
71
+	rbenv sequester $(RUBY_VERSION)-cryptcheck
72
+	rbenv local $(RUBY_VERSION)-cryptcheck
73
+	gem install bundler
74
+	bundle
75
+$(RUBY_LIB_DIR)/openssl/ssl.rb: $(RUBY_OPENSSL_EXT_DIR)/lib/openssl/ssl.rb
76
+	cp $< $@
77
+$(RUBY_LIB_DIR)/x86_64-linux/openssl.so: $(RUBY_OPENSSL_EXT_DIR)/openssl.so
78
+	cp $< $@
79
+sync-ruby: $(RUBY_LIB_DIR)/openssl/ssl.rb $(RUBY_LIB_DIR)/x86_64-linux/openssl.so
80
+
81
+build/$(RUBY_NAME).tar.xz: | build/
82
+	wget http://cache.ruby-lang.org/pub/ruby/$(RUBY_MAJOR_VERSION)/$(RUBY_NAME).tar.xz -O $@
65 83
 
66
-$(RUBY_DIR)/: build/$(RUBY_NAME).tar.gz
84
+$(RUBY_DIR)/: build/$(RUBY_NAME).tar.xz
67 85
 	tar -C build -xf $<
68 86
 
69 87
 $(RUBY_OPENSSL_EXT_DIR)/Makefile: libs | $(RUBY_DIR)/
@@ -72,7 +90,7 @@ $(RUBY_OPENSSL_EXT_DIR)/Makefile: libs | $(RUBY_DIR)/
72 90
 	patch -d $(RUBY_DIR)/ -p1 < fallback_scsv.patch
73 91
 	cd $(RUBY_OPENSSL_EXT_DIR) && ruby extconf.rb
74 92
 
75
-$(RUBY_OPENSSL_EXT_DIR)/openssl.so: libs $(RUBY_OPENSSL_EXT_DIR)/Makefile
93
+$(RUBY_OPENSSL_EXT_DIR)/openssl.so: $(LIBS) $(RUBY_OPENSSL_EXT_DIR)/Makefile
76 94
 	top_srcdir=../.. $(MAKE) -C $(RUBY_OPENSSL_EXT_DIR)
77 95
 
78 96
 lib/openssl.so: $(RUBY_OPENSSL_EXT_DIR)/openssl.so

+ 21
- 7
fallback_scsv.patch View File

@@ -1,5 +1,19 @@
1
+diff --git a/ext/openssl/deprecation.rb b/ext/openssl/deprecation.rb
2
+index d773536..f4a6c4b 100644
3
+--- a/ext/openssl/deprecation.rb
4
++++ b/ext/openssl/deprecation.rb
5
+@@ -19,4 +19,9 @@ def self.check_func(func, header)
6
+     have_func(func, header, deprecated_warning_flag) and
7
+       have_header(header, nil, deprecated_warning_flag)
8
+   end
9
++
10
++  def self.check_func_or_macro(func, header)
11
++    check_func(func, header) or
12
++    have_macro(func, header) && $defs.push("-DHAVE_#{func.upcase}")
13
++  end
14
+ end
1 15
 diff --git a/ext/openssl/lib/openssl/ssl.rb b/ext/openssl/lib/openssl/ssl.rb
2
-index 57519f2..c5b0c8b 100644
16
+index 9893757..bcb167e 100644
3 17
 --- a/ext/openssl/lib/openssl/ssl.rb
4 18
 +++ b/ext/openssl/lib/openssl/ssl.rb
5 19
 @@ -105,11 +105,12 @@ class SSLContext
@@ -7,23 +21,23 @@ index 57519f2..c5b0c8b 100644
7 21
        #
8 22
        # You can get a list of valid methods with OpenSSL::SSL::SSLContext::METHODS
9 23
 -      def initialize(version = nil)
10
-+      def initialize(version = nil, fallback_scsv = false)
24
++      def initialize(version = nil, fallback_scsv: false)
11 25
          INIT_VARS.each { |v| instance_variable_set v, nil }
12 26
          self.options = self.options | OpenSSL::SSL::OP_ALL
13 27
          return unless version
14 28
          self.ssl_version = version
15 29
 +        self.enable_fallback_scsv if fallback_scsv
16 30
        end
17
-
31
+ 
18 32
        ##
19 33
 diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
20
-index bcc624f..0c1780b 100644
34
+index cc17a0c..9f7ee0b 100644
21 35
 --- a/ext/openssl/ossl_ssl.c
22 36
 +++ b/ext/openssl/ossl_ssl.c
23 37
 @@ -978,6 +978,31 @@ ossl_sslctx_set_ciphers(VALUE self, VALUE v)
24 38
      return v;
25 39
  }
26
-
40
+ 
27 41
 +/*
28 42
 + * call-seq:
29 43
 + *    ctx.enable_fallback_scsv() => nil
@@ -57,6 +71,6 @@ index bcc624f..0c1780b 100644
57 71
      rb_define_method(cSSLContext, "ciphers=",    ossl_sslctx_set_ciphers, 1);
58 72
      rb_define_method(cSSLContext, "ecdh_curves=", ossl_sslctx_set_ecdh_curves, 1);
59 73
 +    rb_define_method(cSSLContext, "enable_fallback_scsv", ossl_sslctx_enable_fallback_scsv, 0);
60
-
74
+ 
61 75
      rb_define_method(cSSLContext, "setup", ossl_sslctx_setup, 0);
62
-
76
+ 

+ 32
- 41
set_ecdh_curves.patch View File

@@ -1,19 +1,7 @@
1
-diff -ur a/ext/openssl/deprecation.rb b/ext/openssl/deprecation.rb
2
---- a/ext/openssl/deprecation.rb	2016-11-11 14:41:20.866580715 +0100
3
-+++ b/ext/openssl/deprecation.rb	2016-11-11 14:41:37.570583620 +0100
4
-@@ -19,4 +19,9 @@
5
-     have_func(func, header, deprecated_warning_flag) and
6
-       have_header(header, nil, deprecated_warning_flag)
7
-   end
8
-+
9
-+  def self.check_func_or_macro(func, header)
10
-+    check_func(func, header) or
11
-+      have_macro(func, header) && $defs.push("-DHAVE_#{func.upcase}")
12
-+  end
13
- end
14
-diff -ur a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb
15
---- a/ext/openssl/extconf.rb	2016-11-11 12:05:50.490942389 +0100
16
-+++ b/ext/openssl/extconf.rb	2016-11-11 12:08:46.323026500 +0100
1
+diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb
2
+index 76487f7..2a4d3a7 100644
3
+--- a/ext/openssl/extconf.rb
4
++++ b/ext/openssl/extconf.rb
17 5
 @@ -93,6 +93,7 @@
18 6
  have_func("X509_NAME_hash_old")
19 7
  have_func("X509_STORE_get_ex_data")
@@ -33,10 +21,11 @@ diff -ur a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb
33 21
  have_func("SSL_CTX_set_next_proto_select_cb")
34 22
  unless have_func("SSL_set_tlsext_host_name", ['openssl/ssl.h'])
35 23
    have_macro("SSL_set_tlsext_host_name", ['openssl/ssl.h']) && $defs.push("-DHAVE_SSL_SET_TLSEXT_HOST_NAME")
36
-diff -ur a/ext/openssl/openssl_missing.c b/ext/openssl/openssl_missing.c
37
---- a/ext/openssl/openssl_missing.c	2016-11-11 12:05:50.858942585 +0100
38
-+++ b/ext/openssl/openssl_missing.c	2016-11-11 12:10:17.575063207 +0100
39
-@@ -34,6 +34,43 @@
24
+diff --git a/ext/openssl/openssl_missing.c b/ext/openssl/openssl_missing.c
25
+index 31f2d0a..bc61a96 100644
26
+--- a/ext/openssl/openssl_missing.c
27
++++ b/ext/openssl/openssl_missing.c
28
+@@ -34,6 +34,43 @@ HMAC_CTX_copy(HMAC_CTX *out, HMAC_CTX *in)
40 29
  #endif /* HAVE_HMAC_CTX_COPY */
41 30
  #endif /* NO_HMAC */
42 31
  
@@ -77,13 +66,14 @@ diff -ur a/ext/openssl/openssl_missing.c b/ext/openssl/openssl_missing.c
77 66
 +#endif
78 67
 +#endif
79 68
 +
80
- #if !defined(HAVE_X509_STORE_SET_EX_DATA)
81
- int X509_STORE_set_ex_data(X509_STORE *str, int idx, void *data)
82
- {
83
-diff -ur a/ext/openssl/openssl_missing.h b/ext/openssl/openssl_missing.h
84
---- a/ext/openssl/openssl_missing.h	2016-11-11 12:05:51.210942773 +0100
85
-+++ b/ext/openssl/openssl_missing.h	2016-11-11 12:10:49.307074964 +0100
86
-@@ -70,6 +70,12 @@
69
+ #if !defined(HAVE_EVP_MD_CTX_CREATE)
70
+ EVP_MD_CTX *
71
+ EVP_MD_CTX_create(void)
72
+diff --git a/ext/openssl/openssl_missing.h b/ext/openssl/openssl_missing.h
73
+index 955579c..6e2f5b5 100644
74
+--- a/ext/openssl/openssl_missing.h
75
++++ b/ext/openssl/openssl_missing.h
76
+@@ -70,6 +70,12 @@ void HMAC_CTX_init(HMAC_CTX *ctx);
87 77
  void HMAC_CTX_copy(HMAC_CTX *out, HMAC_CTX *in);
88 78
  #endif
89 79
  
@@ -96,10 +86,11 @@ diff -ur a/ext/openssl/openssl_missing.h b/ext/openssl/openssl_missing.h
96 86
  #if !defined(HAVE_HMAC_CTX_CLEANUP)
97 87
  void HMAC_CTX_cleanup(HMAC_CTX *ctx);
98 88
  #endif
99
-diff -ur a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
100
---- a/ext/openssl/ossl_ssl.c	2016-11-11 12:05:51.590942974 +0100
101
-+++ b/ext/openssl/ossl_ssl.c	2016-11-11 14:47:24.746639981 +0100
102
-@@ -161,6 +161,18 @@
89
+diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
90
+index dc35d5a..cc17a0c 100644
91
+--- a/ext/openssl/ossl_ssl.c
92
++++ b/ext/openssl/ossl_ssl.c
93
+@@ -161,6 +161,18 @@ ossl_sslctx_s_alloc(VALUE klass)
103 94
      RTYPEDDATA_DATA(obj) = ctx;
104 95
      SSL_CTX_set_ex_data(ctx, ossl_ssl_ex_ptr_idx, (void*)obj);
105 96
  
@@ -118,7 +109,7 @@ diff -ur a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
118 109
      return obj;
119 110
  }
120 111
  
121
-@@ -711,19 +723,33 @@
112
+@@ -711,19 +723,33 @@ ossl_sslctx_setup(VALUE self)
122 113
  #endif
123 114
  
124 115
  #if !defined(OPENSSL_NO_EC)
@@ -162,7 +153,7 @@ diff -ur a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
162 153
          store = GetX509StorePtr(val); /* NO NEED TO DUP */
163 154
          SSL_CTX_set_cert_store(ctx, store);
164 155
          SSL_CTX_set_ex_data(ctx, ossl_ssl_ex_store_p, (void*)1);
165
-@@ -731,7 +757,7 @@
156
+@@ -731,7 +757,7 @@ ossl_sslctx_setup(VALUE self)
166 157
  
167 158
      val = ossl_sslctx_get_extra_cert(self);
168 159
      if(!NIL_P(val)){
@@ -171,7 +162,7 @@ diff -ur a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
171 162
      }
172 163
  
173 164
      /* private key may be bundled in certificate file. */
174
-@@ -755,22 +781,21 @@
165
+@@ -755,22 +781,21 @@ ossl_sslctx_setup(VALUE self)
175 166
  
176 167
      val = ossl_sslctx_get_client_ca(self);
177 168
      if(!NIL_P(val)){
@@ -207,7 +198,7 @@ diff -ur a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
207 198
      }
208 199
  
209 200
      val = ossl_sslctx_get_ca_file(self);
210
-@@ -778,15 +803,15 @@
201
+@@ -778,15 +803,15 @@ ossl_sslctx_setup(VALUE self)
211 202
      val = ossl_sslctx_get_ca_path(self);
212 203
      ca_path = NIL_P(val) ? NULL : StringValuePtr(val);
213 204
      if(ca_file || ca_path){
@@ -226,7 +217,7 @@ diff -ur a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
226 217
  
227 218
      val = ossl_sslctx_get_timeout(self);
228 219
      if(!NIL_P(val)) SSL_CTX_set_timeout(ctx, NUM2LONG(val));
229
-@@ -797,26 +822,26 @@
220
+@@ -797,26 +822,26 @@ ossl_sslctx_setup(VALUE self)
230 221
  #ifdef HAVE_SSL_CTX_SET_NEXT_PROTO_SELECT_CB
231 222
      val = rb_iv_get(self, "@npn_protocols");
232 223
      if (!NIL_P(val)) {
@@ -263,7 +254,7 @@ diff -ur a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
263 254
      }
264 255
  #endif
265 256
  
266
-@@ -824,31 +849,31 @@
257
+@@ -824,31 +849,31 @@ ossl_sslctx_setup(VALUE self)
267 258
  
268 259
      val = ossl_sslctx_get_sess_id_ctx(self);
269 260
      if (!NIL_P(val)){
@@ -307,7 +298,7 @@ diff -ur a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
307 298
      }
308 299
  #endif
309 300
  
310
-@@ -953,6 +978,87 @@
301
+@@ -953,6 +978,87 @@ ossl_sslctx_set_ciphers(VALUE self, VALUE v)
311 302
      return v;
312 303
  }
313 304
  
@@ -395,7 +386,7 @@ diff -ur a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
395 386
  /*
396 387
   *  call-seq:
397 388
   *     ctx.session_add(session) -> true | false
398
-@@ -2075,6 +2181,7 @@
389
+@@ -2075,6 +2181,7 @@ Init_ossl_ssl(void)
399 390
       */
400 391
      rb_attr(cSSLContext, rb_intern("client_cert_cb"), 1, 1, Qfalse);
401 392
  
@@ -403,7 +394,7 @@ diff -ur a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
403 394
      /*
404 395
       * A callback invoked when ECDH parameters are required.
405 396
       *
406
-@@ -2082,10 +2189,11 @@
397
+@@ -2082,10 +2189,11 @@ Init_ossl_ssl(void)
407 398
       * flag indicating the use of an export cipher and the keylength
408 399
       * required.
409 400
       *
@@ -417,7 +408,7 @@ diff -ur a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
417 408
  
418 409
      /*
419 410
       * Sets the context in which a session can be reused.  This allows
420
-@@ -2221,6 +2329,7 @@
411
+@@ -2221,6 +2329,7 @@ Init_ossl_ssl(void)
421 412
      rb_define_method(cSSLContext, "ssl_version=", ossl_sslctx_set_ssl_version, 1);
422 413
      rb_define_method(cSSLContext, "ciphers",     ossl_sslctx_get_ciphers, 0);
423 414
      rb_define_method(cSSLContext, "ciphers=",    ossl_sslctx_set_ciphers, 1);

+ 9
- 9
tmp_key.patch View File

@@ -1,5 +1,5 @@
1 1
 diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb
2
-index 7bb6cd8..3b18a53 100644
2
+index 0b7fa2a..76487f7 100644
3 3
 --- a/ext/openssl/extconf.rb
4 4
 +++ b/ext/openssl/extconf.rb
5 5
 @@ -114,6 +114,7 @@
@@ -11,7 +11,7 @@ index 7bb6cd8..3b18a53 100644
11 11
    have_func("ENGINE_add")
12 12
    have_func("ENGINE_load_builtin_engines")
13 13
 diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
14
-index 4075d6f..982e011 100644
14
+index 7a0eb4e..dc35d5a 100644
15 15
 --- a/ext/openssl/ossl_ssl.c
16 16
 +++ b/ext/openssl/ossl_ssl.c
17 17
 @@ -1911,6 +1911,25 @@ ossl_ssl_alpn_protocol(VALUE self)
@@ -38,7 +38,7 @@ index 4075d6f..982e011 100644
38 38
 +}
39 39
 +# endif /* defined(HAVE_SSL_GET_SERVER_TMP_KEY) */
40 40
  #endif /* !defined(OPENSSL_NO_SOCK) */
41
-
41
+ 
42 42
  void
43 43
 @@ -2305,6 +2324,9 @@ Init_ossl_ssl(void)
44 44
      rb_define_method(cSSLSocket, "session=",    ossl_ssl_set_session, 1);
@@ -51,13 +51,13 @@ index 4075d6f..982e011 100644
51 51
      rb_define_method(cSSLSocket, "alpn_protocol", ossl_ssl_alpn_protocol, 0);
52 52
  # endif
53 53
 diff --git a/test/openssl/test_ssl.rb b/test/openssl/test_ssl.rb
54
-index 58fcc08..3ce4e21 100644
54
+index 2247847..7958f17 100644
55 55
 --- a/test/openssl/test_ssl.rb
56 56
 +++ b/test/openssl/test_ssl.rb
57
-@@ -1169,6 +1169,29 @@ def test_sync_close_without_connect
58
-     }
57
+@@ -1191,6 +1191,29 @@ def test_close_and_socket_close_while_connecting
58
+     sock2.close if sock2
59 59
    end
60
-
60
+ 
61 61
 +  def test_get_ephemeral_key
62 62
 +    return unless OpenSSL::SSL::SSLSocket.method_defined?(:tmp_key)
63 63
 +    ciphers = {
@@ -82,7 +82,7 @@ index 58fcc08..3ce4e21 100644
82 82
 +  end
83 83
 +
84 84
    private
85
-
85
+ 
86 86
    def start_server_version(version, ctx_proc=nil, server_proc=nil, &blk)
87 87
 diff --git a/test/openssl/utils.rb b/test/openssl/utils.rb
88 88
 index 0802c1b..c081e4f 100644
@@ -95,4 +95,4 @@ index 0802c1b..c081e4f 100644
95 95
 +        ctx.tmp_ecdh_callback = proc { OpenSSL::TestUtils::TEST_KEY_EC_P256V1 }
96 96
          ctx.verify_mode = verify_mode
97 97
          ctx_proc.call(ctx) if ctx_proc
98
-
98
+ 

Loading…
Cancel
Save