openssl 3.3.2 → 4.0.0
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.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +3 -0
- data/History.md +85 -0
- data/README.md +12 -11
- data/ext/openssl/extconf.rb +30 -69
- data/ext/openssl/openssl_missing.h +0 -206
- data/ext/openssl/ossl.c +280 -301
- data/ext/openssl/ossl.h +15 -10
- data/ext/openssl/ossl_asn1.c +598 -406
- data/ext/openssl/ossl_asn1.h +15 -1
- data/ext/openssl/ossl_bio.c +3 -3
- data/ext/openssl/ossl_bn.c +286 -291
- data/ext/openssl/ossl_cipher.c +252 -203
- data/ext/openssl/ossl_cipher.h +10 -1
- data/ext/openssl/ossl_config.c +1 -6
- data/ext/openssl/ossl_digest.c +74 -43
- data/ext/openssl/ossl_digest.h +9 -1
- data/ext/openssl/ossl_engine.c +39 -103
- data/ext/openssl/ossl_hmac.c +30 -36
- data/ext/openssl/ossl_kdf.c +42 -53
- data/ext/openssl/ossl_ns_spki.c +31 -37
- data/ext/openssl/ossl_ocsp.c +214 -241
- data/ext/openssl/ossl_pkcs12.c +26 -26
- data/ext/openssl/ossl_pkcs7.c +175 -145
- data/ext/openssl/ossl_pkey.c +162 -178
- data/ext/openssl/ossl_pkey.h +99 -99
- data/ext/openssl/ossl_pkey_dh.c +31 -68
- data/ext/openssl/ossl_pkey_dsa.c +15 -54
- data/ext/openssl/ossl_pkey_ec.c +179 -237
- data/ext/openssl/ossl_pkey_rsa.c +56 -103
- data/ext/openssl/ossl_provider.c +0 -7
- data/ext/openssl/ossl_rand.c +7 -14
- data/ext/openssl/ossl_ssl.c +478 -353
- data/ext/openssl/ossl_ssl.h +8 -8
- data/ext/openssl/ossl_ssl_session.c +93 -97
- data/ext/openssl/ossl_ts.c +81 -127
- data/ext/openssl/ossl_x509.c +9 -28
- data/ext/openssl/ossl_x509attr.c +33 -54
- data/ext/openssl/ossl_x509cert.c +69 -100
- data/ext/openssl/ossl_x509crl.c +78 -89
- data/ext/openssl/ossl_x509ext.c +45 -66
- data/ext/openssl/ossl_x509name.c +63 -88
- data/ext/openssl/ossl_x509req.c +55 -62
- data/ext/openssl/ossl_x509revoked.c +27 -41
- data/ext/openssl/ossl_x509store.c +38 -56
- data/lib/openssl/buffering.rb +30 -24
- data/lib/openssl/digest.rb +1 -1
- data/lib/openssl/pkey.rb +71 -49
- data/lib/openssl/ssl.rb +12 -79
- data/lib/openssl/version.rb +2 -1
- data/lib/openssl/x509.rb +9 -0
- data/lib/openssl.rb +9 -6
- metadata +1 -3
- data/ext/openssl/openssl_missing.c +0 -40
- data/lib/openssl/asn1.rb +0 -188
data/ext/openssl/ossl_asn1.h
CHANGED
|
@@ -31,11 +31,25 @@ VALUE asn1str_to_str(const ASN1_STRING *);
|
|
|
31
31
|
VALUE asn1integer_to_num(const ASN1_INTEGER *);
|
|
32
32
|
ASN1_INTEGER *num_to_asn1integer(VALUE, ASN1_INTEGER *);
|
|
33
33
|
|
|
34
|
+
/*
|
|
35
|
+
* ASN1_OBJECT conversions
|
|
36
|
+
*/
|
|
37
|
+
ASN1_OBJECT *ossl_to_asn1obj(VALUE obj);
|
|
38
|
+
/*
|
|
39
|
+
* Returns the short name if available, the dotted decimal notation otherwise.
|
|
40
|
+
* This is the most common way to return ASN1_OBJECT to Ruby.
|
|
41
|
+
*/
|
|
42
|
+
VALUE ossl_asn1obj_to_string(const ASN1_OBJECT *a1obj);
|
|
43
|
+
/*
|
|
44
|
+
* However, some places use long names instead. This is likely unintentional,
|
|
45
|
+
* but we keep the current behavior in existing methods.
|
|
46
|
+
*/
|
|
47
|
+
VALUE ossl_asn1obj_to_string_long_name(const ASN1_OBJECT *a1obj);
|
|
48
|
+
|
|
34
49
|
/*
|
|
35
50
|
* ASN1 module
|
|
36
51
|
*/
|
|
37
52
|
extern VALUE mASN1;
|
|
38
|
-
extern VALUE eASN1Error;
|
|
39
53
|
|
|
40
54
|
extern VALUE cASN1Data;
|
|
41
55
|
|
data/ext/openssl/ossl_bio.c
CHANGED
|
@@ -16,11 +16,11 @@ ossl_obj2bio(volatile VALUE *pobj)
|
|
|
16
16
|
BIO *bio;
|
|
17
17
|
|
|
18
18
|
if (RB_TYPE_P(obj, T_FILE))
|
|
19
|
-
|
|
19
|
+
obj = rb_funcallv(obj, rb_intern("read"), 0, NULL);
|
|
20
20
|
StringValue(obj);
|
|
21
21
|
bio = BIO_new_mem_buf(RSTRING_PTR(obj), RSTRING_LENINT(obj));
|
|
22
22
|
if (!bio)
|
|
23
|
-
|
|
23
|
+
ossl_raise(eOSSLError, "BIO_new_mem_buf");
|
|
24
24
|
*pobj = obj;
|
|
25
25
|
return bio;
|
|
26
26
|
}
|
|
@@ -36,7 +36,7 @@ ossl_membio2str(BIO *bio)
|
|
|
36
36
|
ret = ossl_str_new(buf->data, buf->length, &state);
|
|
37
37
|
BIO_free(bio);
|
|
38
38
|
if (state)
|
|
39
|
-
|
|
39
|
+
rb_jump_tag(state);
|
|
40
40
|
|
|
41
41
|
return ret;
|
|
42
42
|
}
|