|
1 | | -require "openssl/lib_crypto" |
2 | 1 | require "socket" |
3 | | - |
4 | | -lib LibCrypto |
5 | | - alias EVP_PKEY = Void* |
6 | | - alias EVP_PKEY_CTX = Void* |
7 | | - alias X509_REQ = Void* |
8 | | - alias ASN1_INTEGER = Void* |
9 | | - alias ASN1_TIME = Void* |
10 | | - |
11 | | - EVP_PKEY_RSA = 6 |
12 | | - |
13 | | - fun evp_pkey_ctx_new_id = EVP_PKEY_CTX_new_id(id : Int32, e : Void*) : EVP_PKEY_CTX |
14 | | - fun evp_pkey_ctx_free = EVP_PKEY_CTX_free(ctx : EVP_PKEY_CTX) |
15 | | - fun evp_pkey_keygen_init = EVP_PKEY_keygen_init(ctx : EVP_PKEY_CTX) : Int32 |
16 | | - fun evp_pkey_ctx_ctrl_str = EVP_PKEY_CTX_ctrl_str(ctx : EVP_PKEY_CTX, type : UInt8*, value : UInt8*) : Int32 |
17 | | - fun evp_pkey_keygen = EVP_PKEY_keygen(ctx : EVP_PKEY_CTX, ppkey : EVP_PKEY*) : Int32 |
18 | | - fun evp_pkey_free = EVP_PKEY_free(pkey : EVP_PKEY) |
19 | | - |
20 | | - fun bio_new_file = BIO_new_file(filename : UInt8*, mode : UInt8*) : Bio* |
21 | | - fun bio_free_all = BIO_free_all(bio : Bio*) : Int32 |
22 | | - |
23 | | - fun pem_read_bio_private_key = PEM_read_bio_PrivateKey(bp : Bio*, x : EVP_PKEY*, cb : Void*, u : Void*) : EVP_PKEY |
24 | | - fun pem_write_bio_private_key = PEM_write_bio_PrivateKey(bp : Bio*, x : EVP_PKEY, enc : Void*, kstr : UInt8*, klen : Int32, cb : Void*, u : Void*) : Int32 |
25 | | - |
26 | | - fun pem_read_bio_x509 = PEM_read_bio_X509(bp : Bio*, x : X509*, cb : Void*, u : Void*) : X509 |
27 | | - fun pem_write_bio_x509_req = PEM_write_bio_X509_REQ(bp : Bio*, x : X509_REQ) : Int32 |
28 | | - fun pem_write_bio_x509 = PEM_write_bio_X509(bp : Bio*, x : X509) : Int32 |
29 | | - |
30 | | - fun x509_req_new = X509_REQ_new : X509_REQ |
31 | | - fun x509_req_free = X509_REQ_free(req : X509_REQ) |
32 | | - fun x509_req_set_version = X509_REQ_set_version(req : X509_REQ, version : Long) : Int32 |
33 | | - fun x509_req_set_subject_name = X509_REQ_set_subject_name(req : X509_REQ, name : X509_NAME) : Int32 |
34 | | - fun x509_req_set_pubkey = X509_REQ_set_pubkey(req : X509_REQ, pkey : EVP_PKEY) : Int32 |
35 | | - fun x509_req_sign = X509_REQ_sign(req : X509_REQ, pkey : EVP_PKEY, md : EVP_MD) : Int32 |
36 | | - fun x509_req_get_subject_name = X509_REQ_get_subject_name(req : X509_REQ) : X509_NAME |
37 | | - fun x509_req_get_pubkey = X509_REQ_get_pubkey(req : X509_REQ) : EVP_PKEY |
38 | | - |
39 | | - fun x509_set_version = X509_set_version(x : X509, version : Long) : Int32 |
40 | | - fun x509_set_issuer_name = X509_set_issuer_name(x : X509, name : X509_NAME) : Int32 |
41 | | - fun x509_set_pubkey = X509_set_pubkey(x : X509, pkey : EVP_PKEY) : Int32 |
42 | | - fun x509_sign = X509_sign(x : X509, pkey : EVP_PKEY, md : EVP_MD) : Int32 |
43 | | - fun x509_get_serial_number = X509_get_serialNumber(x : X509) : ASN1_INTEGER |
44 | | - fun x509_getm_not_before = X509_getm_notBefore(x : X509) : ASN1_TIME |
45 | | - fun x509_getm_not_after = X509_getm_notAfter(x : X509) : ASN1_TIME |
46 | | - |
47 | | - fun asn1_integer_set = ASN1_INTEGER_set(a : ASN1_INTEGER, v : Long) : Int32 |
48 | | - fun x509_gmtime_adj = X509_gmtime_adj(s : ASN1_TIME, adj : Long) : ASN1_TIME |
49 | | -end |
| 2 | +require "./../../../ext/openssl/lib_crypro.cr" |
50 | 3 |
|
51 | 4 | class HTTP::Proxy::Server |
52 | 5 | class CertificateGenerator |
|
0 commit comments