mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 00:39:34 +02:00
* Add PKCS7 functions (Bug ID 20573)
git-svn-id: trunk@32804 -
This commit is contained in:
parent
8164d5aaf4
commit
4da8b0153c
@ -429,6 +429,134 @@ type
|
||||
|
||||
Ppem_password_cb = Pointer;
|
||||
|
||||
// PKCS7
|
||||
|
||||
PPKCS7 = ^PKCS7;
|
||||
PPKCS7_DIGEST = ^PKCS7_DIGEST;
|
||||
PPKCS7_ENC_CONTENT = ^PKCS7_ENC_CONTENT;
|
||||
PPKCS7_ENCRYPT = ^TPKCS7_ENCRYPT;
|
||||
PPKCS7_ENVELOPE = ^PKCS7_ENVELOPE;
|
||||
PPKCS7_ISSUER_AND_SERIAL = ^PKCS7_ISSUER_AND_SERIAL;
|
||||
PPKCS7_RECIP_INFO = ^PKCS7_RECIP_INFO;
|
||||
PPKCS7_SIGN_ENVELOPE = ^PKCS7_SIGN_ENVELOPE;
|
||||
PPKCS7_SIGNED = ^PKCS7_SIGNED;
|
||||
PPKCS7_SIGNER_INFO = ^PKCS7_SIGNER_INFO;
|
||||
Pstack_st_X509 = Pointer;
|
||||
Pstack_st_X509_ALGOR = Pointer;
|
||||
Pstack_st_X509_ATTRIBUTE = Pointer;
|
||||
ppkcs7_st = ^pkcs7_st;
|
||||
|
||||
pkcs7_issuer_and_serial_st = record
|
||||
issuer : ^X509_NAME;
|
||||
serial : PASN1_INTEGER;
|
||||
end;
|
||||
PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
|
||||
|
||||
pkcs7_signer_info_st = record
|
||||
version : PASN1_INTEGER;
|
||||
issuer_and_serial : PPKCS7_ISSUER_AND_SERIAL;
|
||||
digest_alg : pointer;
|
||||
auth_attr : pointer;
|
||||
digest_enc_alg : pointer;
|
||||
enc_digest : pointer;
|
||||
unauth_attr : pointer;
|
||||
pkey : ^EVP_PKEY;
|
||||
end;
|
||||
PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
|
||||
|
||||
stack_st_PKCS7_SIGNER_INFO = record
|
||||
stack : Pointer;
|
||||
end;
|
||||
|
||||
|
||||
pkcs7_recip_info_st = record
|
||||
version : PASN1_INTEGER;
|
||||
issuer_and_serial : PPKCS7_ISSUER_AND_SERIAL;
|
||||
key_enc_algor : Pointer;
|
||||
enc_key : Pointer;
|
||||
cert : PX509;
|
||||
end;
|
||||
PKCS7_RECIP_INFO = pkcs7_recip_info_st;
|
||||
stack_st_PKCS7_RECIP_INFO = record
|
||||
stack : Pointer;
|
||||
end;
|
||||
|
||||
|
||||
pkcs7_signed_st = record
|
||||
version : PASN1_INTEGER;
|
||||
md_algs : Pointer;
|
||||
cert : pointer;
|
||||
crl : pointer;
|
||||
signer_info : pointer;
|
||||
contents : Pointer;
|
||||
end;
|
||||
PKCS7_SIGNED = pkcs7_signed_st;
|
||||
(* Const before type ignored *)
|
||||
|
||||
pkcs7_enc_content_st = record
|
||||
content_type : Pointer;
|
||||
algorithm : Pointer;
|
||||
enc_data : Pointer;
|
||||
cipher : PEVP_CIPHER;
|
||||
end;
|
||||
PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
|
||||
|
||||
pkcs7_enveloped_st = record
|
||||
version : PASN1_INTEGER;
|
||||
recipientinfo : ^stack_st_PKCS7_RECIP_INFO;
|
||||
enc_data : ^PKCS7_ENC_CONTENT;
|
||||
end;
|
||||
PKCS7_ENVELOPE = pkcs7_enveloped_st;
|
||||
|
||||
pkcs7_signedandenveloped_st = record
|
||||
version : PASN1_INTEGER;
|
||||
md_algs : Pstack_st_X509_ALGOR;
|
||||
cert : Pstack_st_X509;
|
||||
crl : Pointer;
|
||||
signer_info : pointer;
|
||||
enc_data : PPKCS7_ENC_CONTENT;
|
||||
recipientinfo : ^stack_st_PKCS7_RECIP_INFO;
|
||||
end;
|
||||
PKCS7_SIGN_ENVELOPE = pkcs7_signedandenveloped_st;
|
||||
|
||||
pkcs7_digest_st = record
|
||||
version : PASN1_INTEGER;
|
||||
md : POinter;
|
||||
contents : ppkcs7_st;
|
||||
digest : Pointer;
|
||||
end;
|
||||
PKCS7_DIGEST = pkcs7_digest_st;
|
||||
|
||||
pkcs7_encrypted_st = record
|
||||
version : PASN1_INTEGER;
|
||||
enc_data : ^PKCS7_ENC_CONTENT;
|
||||
end;
|
||||
TPKCS7_ENCRYPT = pkcs7_encrypted_st;
|
||||
|
||||
pkcs7_st = record
|
||||
asn1 : ^byte;
|
||||
length : longint;
|
||||
state : longint;
|
||||
detached : longint;
|
||||
_type : Pointer;
|
||||
d : record
|
||||
case longint of
|
||||
0 : ( ptr : pchar );
|
||||
1 : ( data : Pointer);
|
||||
2 : ( sign : PPKCS7_SIGNED );
|
||||
3 : ( enveloped : ^PKCS7_ENVELOPE );
|
||||
4 : ( signed_and_enveloped : ^PKCS7_SIGN_ENVELOPE );
|
||||
5 : ( digest : ^PKCS7_DIGEST );
|
||||
6 : ( encrypted : ^TPKCS7_ENCRYPT );
|
||||
7 : ( other : PASN1_TYPE );
|
||||
end;
|
||||
end;
|
||||
pkcs7 = pkcs7_st;
|
||||
stack_st_PKCS7 = record
|
||||
stack : Pointer;
|
||||
end;
|
||||
PPPKCS7_ISSUER_AND_SERIAL = ^PPKCS7_ISSUER_AND_SERIAL;
|
||||
|
||||
const
|
||||
SSL_ERROR_NONE = 0;
|
||||
SSL_ERROR_SSL = 1;
|
||||
@ -960,6 +1088,71 @@ var
|
||||
procedure CRYPTOcleanupAllExData;
|
||||
procedure OPENSSLaddallalgorithms;
|
||||
|
||||
// PKCS7 functions
|
||||
function PKCS7_ISSUER_AND_SERIAL_new : PPKCS7_ISSUER_AND_SERIAL;
|
||||
procedure PKCS7_ISSUER_AND_SERIAL_free (a:PPKCS7_ISSUER_AND_SERIAL);
|
||||
function PKCS7_ISSUER_AND_SERIAL_digest(data:PPKCS7_ISSUER_AND_SERIAL; _type:PEVP_MD; md:Pbyte; len:Pdword):longint;
|
||||
function PKCS7_dup(p7:PPKCS7):PPKCS7;
|
||||
function PEM_write_bio_PKCS7_stream(_out:PBIO; p7:PPKCS7; _in:PBIO; flags:longint):longint;
|
||||
function PKCS7_SIGNER_INFO_new:PPKCS7_SIGNER_INFO;
|
||||
procedure PKCS7_SIGNER_INFO_free(a:PPKCS7_SIGNER_INFO);
|
||||
function PKCS7_RECIP_INFO_new:PPKCS7_RECIP_INFO;
|
||||
procedure PKCS7_RECIP_INFO_free(a:PPKCS7_RECIP_INFO);
|
||||
function PKCS7_SIGNED_new:PPKCS7_SIGNED;
|
||||
procedure PKCS7_SIGNED_free(a:PPKCS7_SIGNED);
|
||||
function PKCS7_ENC_CONTENT_new:PPKCS7_ENC_CONTENT;
|
||||
procedure PKCS7_ENC_CONTENT_free(a:PPKCS7_ENC_CONTENT);
|
||||
function PKCS7_ENVELOPE_new:PPKCS7_ENVELOPE;
|
||||
procedure PKCS7_ENVELOPE_free(a:PPKCS7_ENVELOPE);
|
||||
function PKCS7_SIGN_ENVELOPE_new:PPKCS7_SIGN_ENVELOPE;
|
||||
procedure PKCS7_SIGN_ENVELOPE_free(a:PPKCS7_SIGN_ENVELOPE);
|
||||
function PKCS7_DIGEST_new:PPKCS7_DIGEST;
|
||||
procedure PKCS7_DIGEST_free(a:PPKCS7_DIGEST);
|
||||
function PKCS7_ENCRYPT_new:PPKCS7_ENCRYPT;
|
||||
procedure PKCS7_ENCRYPT_free(a:PPKCS7_ENCRYPT);
|
||||
function PKCS7_new:PPKCS7;
|
||||
procedure PKCS7_free(a:PPKCS7);
|
||||
function PKCS7_print_ctx(_out:PBIO; x:PPKCS7; indent:longint; pctx:Pointer):longint;
|
||||
function PKCS7_ctrl(p7:PPKCS7; cmd:longint; larg:longint; parg:Pchar):longint;
|
||||
function PKCS7_set_type(p7:PPKCS7; _type:longint):longint;
|
||||
function PKCS7_set0_type_other(p7:PPKCS7; _type:longint; other:PASN1_TYPE):longint;
|
||||
function PKCS7_set_content(p7:PPKCS7; p7_data:PPKCS7):longint;
|
||||
function PKCS7_SIGNER_INFO_set(p7i:PPKCS7_SIGNER_INFO; x509:PX509; pkey:PEVP_PKEY; dgst:PEVP_MD):longint;
|
||||
function PKCS7_SIGNER_INFO_sign(si:PPKCS7_SIGNER_INFO):longint;
|
||||
function PKCS7_add_signer(p7:PPKCS7; p7i:PPKCS7_SIGNER_INFO):longint;
|
||||
function PKCS7_add_certificate(p7:PPKCS7; x509:PX509):longint;
|
||||
function PKCS7_add_crl(p7:PPKCS7; x509: Pointer):longint;
|
||||
function PKCS7_content_new(p7:PPKCS7; nid:longint):longint;
|
||||
function PKCS7_add_signature(p7:PPKCS7; x509:PX509; pkey:PEVP_PKEY; dgst:PEVP_MD):PPKCS7_SIGNER_INFO;
|
||||
function PKCS7_cert_from_signer_info(p7:PPKCS7; si:PPKCS7_SIGNER_INFO):PX509;
|
||||
function PKCS7_set_digest(p7:PPKCS7; md:PEVP_MD):longint;
|
||||
function PKCS7_add_recipient(p7:PPKCS7; x509:PX509):PPKCS7_RECIP_INFO;
|
||||
function PKCS7_add_recipient_info(p7:PPKCS7; ri:PPKCS7_RECIP_INFO):longint;
|
||||
function PKCS7_RECIP_INFO_set(p7i:PPKCS7_RECIP_INFO; x509:PX509):longint;
|
||||
function PKCS7_set_cipher(p7:PPKCS7; cipher:PEVP_CIPHER):longint;
|
||||
function PKCS7_get_issuer_and_serial(p7:PPKCS7; idx:longint):PPKCS7_ISSUER_AND_SERIAL;
|
||||
function PKCS7_digest_from_attributes(sk:Pstack_st_X509_ATTRIBUTE):Pointer;
|
||||
function PKCS7_add_signed_attribute(p7si:PPKCS7_SIGNER_INFO; nid:longint; _type:longint; data:pointer):longint;
|
||||
function PKCS7_add_attribute(p7si:PPKCS7_SIGNER_INFO; nid:longint; atrtype:longint; value:pointer):longint;
|
||||
function PKCS7_get_attribute(si:PPKCS7_SIGNER_INFO; nid:longint):PASN1_TYPE;
|
||||
function PKCS7_get_signed_attribute(si:PPKCS7_SIGNER_INFO; nid:longint):PASN1_TYPE;
|
||||
function PKCS7_set_signed_attributes(p7si:PPKCS7_SIGNER_INFO; sk:Pstack_st_X509_ATTRIBUTE):longint;
|
||||
function PKCS7_set_attributes(p7si:PPKCS7_SIGNER_INFO; sk:Pstack_st_X509_ATTRIBUTE):longint;
|
||||
function PKCS7_sign(signcert:PX509; pkey:PEVP_PKEY; certs:Pstack_st_X509; data:PBIO; flags:longint):PPKCS7;
|
||||
function PKCS7_sign_add_signer(p7:PPKCS7; signcert:PX509; pkey:PEVP_PKEY; md:PEVP_MD; flags:longint):PPKCS7_SIGNER_INFO;
|
||||
function PKCS7_final(p7:PPKCS7; data:PBIO; flags:longint):longint;
|
||||
function PKCS7_verify(p7:PPKCS7; certs:Pstack_st_X509; store: Pointer; indata:PBIO; _out:PBIO; flags:longint):longint;
|
||||
function PKCS7_encrypt(certs:Pstack_st_X509; _in:PBIO; cipher:PEVP_CIPHER; flags:longint):PPKCS7;
|
||||
function PKCS7_decrypt(p7:PPKCS7; pkey:PEVP_PKEY; cert:PX509; data:PBIO; flags:longint):longint;
|
||||
function PKCS7_add_attrib_smimecap(si:PPKCS7_SIGNER_INFO; cap:Pstack_st_X509_ALGOR):longint;
|
||||
function PKCS7_simple_smimecap(sk:Pstack_st_X509_ALGOR; nid:longint; arg:longint):longint;
|
||||
function PKCS7_add_attrib_content_type(si:PPKCS7_SIGNER_INFO; coid:Pointer):longint;
|
||||
function PKCS7_add0_attrib_signing_time(si:PPKCS7_SIGNER_INFO; t:PASN1_TIME):longint;
|
||||
function PKCS7_add1_attrib_digest(si:PPKCS7_SIGNER_INFO; md:Pbyte; mdlen:longint):longint;
|
||||
function BIO_new_PKCS7(_out:PBIO; p7:PPKCS7):PBIO;
|
||||
procedure ERR_load_PKCS7_strings;
|
||||
|
||||
|
||||
function IsSSLloaded: Boolean;
|
||||
function InitSSLInterface: Boolean; overload;
|
||||
function DestroySSLInterface: Boolean;
|
||||
@ -1479,6 +1672,82 @@ var
|
||||
_BIO_new_file: TBIO_new_file = nil;
|
||||
_BIO_new_mem_buf: TBIO_new_mem_buf = nil;
|
||||
|
||||
// PKCS7 functions
|
||||
{ PKCS7_ISSUER_AND_SERIAL_it : ASN1_ITEM;cvar;external;
|
||||
PKCS7_SIGNER_INFO_it : ASN1_ITEM;cvar;external;
|
||||
PKCS7_RECIP_INFO_it : ASN1_ITEM;cvar;external;
|
||||
PKCS7_SIGNED_it : ASN1_ITEM;cvar;external;
|
||||
PKCS7_ENC_CONTENT_it : ASN1_ITEM;cvar;external;
|
||||
PKCS7_ENVELOPE_it : ASN1_ITEM;cvar;external;
|
||||
PKCS7_SIGN_ENVELOPE_it : ASN1_ITEM;cvar;external;
|
||||
PKCS7_DIGEST_it : ASN1_ITEM;cvar;external;
|
||||
PKCS7_ENCRYPT_it : ASN1_ITEM;cvar;external;
|
||||
PKCS7_it : ASN1_ITEM;cvar;external;
|
||||
PKCS7_ATTR_SIGN_it : ASN1_ITEM;cvar;external;
|
||||
PKCS7_ATTR_VERIFY_it : ASN1_ITEM;cvar;external;
|
||||
}
|
||||
_PKCS7_ISSUER_AND_SERIAL_new : function: PPKCS7_ISSUER_AND_SERIAL;
|
||||
_PKCS7_ISSUER_AND_SERIAL_free : procedure(a:PPKCS7_ISSUER_AND_SERIAL);
|
||||
_PKCS7_ISSUER_AND_SERIAL_digest : function(data:PPKCS7_ISSUER_AND_SERIAL; _type:PEVP_MD; md:Pbyte; len:Pdword):longint;
|
||||
_PKCS7_dup : function(p7:PPKCS7):PPKCS7;
|
||||
_PEM_write_bio_PKCS7_stream : function(_out:PBIO; p7:PPKCS7; _in:PBIO; flags:longint):longint;
|
||||
_PKCS7_SIGNER_INFO_new : function:PPKCS7_SIGNER_INFO;
|
||||
_PKCS7_SIGNER_INFO_free : procedure(a:PPKCS7_SIGNER_INFO);
|
||||
_PKCS7_RECIP_INFO_new : function:PPKCS7_RECIP_INFO;
|
||||
_PKCS7_RECIP_INFO_free : procedure(a:PPKCS7_RECIP_INFO);
|
||||
_PKCS7_SIGNED_new : function:PPKCS7_SIGNED;
|
||||
_PKCS7_SIGNED_free : procedure(a:PPKCS7_SIGNED);
|
||||
_PKCS7_ENC_CONTENT_new : function:PPKCS7_ENC_CONTENT;
|
||||
_PKCS7_ENC_CONTENT_free : procedure(a:PPKCS7_ENC_CONTENT);
|
||||
_PKCS7_ENVELOPE_new : function:PPKCS7_ENVELOPE;
|
||||
_PKCS7_ENVELOPE_free : procedure(a:PPKCS7_ENVELOPE);
|
||||
_PKCS7_SIGN_ENVELOPE_new : function:PPKCS7_SIGN_ENVELOPE;
|
||||
_PKCS7_SIGN_ENVELOPE_free : procedure(a:PPKCS7_SIGN_ENVELOPE);
|
||||
_PKCS7_DIGEST_new : function:PPKCS7_DIGEST;
|
||||
_PKCS7_DIGEST_free : procedure(a:PPKCS7_DIGEST);
|
||||
_PKCS7_ENCRYPT_new : function:PPKCS7_ENCRYPT;
|
||||
_PKCS7_ENCRYPT_free : procedure(a:PPKCS7_ENCRYPT);
|
||||
_PKCS7_new : function:PPKCS7;
|
||||
_PKCS7_free : procedure(a:PPKCS7);
|
||||
_PKCS7_print_ctx : function(_out:PBIO; x:PPKCS7; indent:longint; pctx:Pointer):longint;
|
||||
_PKCS7_ctrl : function(p7:PPKCS7; cmd:longint; larg:longint; parg:Pchar):longint;
|
||||
_PKCS7_set_type : function(p7:PPKCS7; _type:longint):longint;
|
||||
_PKCS7_set0_type_other : function(p7:PPKCS7; _type:longint; other:PASN1_TYPE):longint;
|
||||
_PKCS7_set_content : function(p7:PPKCS7; p7_data:PPKCS7):longint;
|
||||
_PKCS7_SIGNER_INFO_set : function(p7i:PPKCS7_SIGNER_INFO; x509:PX509; pkey:PEVP_PKEY; dgst:PEVP_MD):longint;
|
||||
_PKCS7_SIGNER_INFO_sign : function(si:PPKCS7_SIGNER_INFO):longint;
|
||||
_PKCS7_add_signer : function(p7:PPKCS7; p7i:PPKCS7_SIGNER_INFO):longint;
|
||||
_PKCS7_add_certificate : function(p7:PPKCS7; x509:PX509):longint;
|
||||
_PKCS7_add_crl : function(p7:PPKCS7; x509: Pointer):longint;
|
||||
_PKCS7_content_new : function(p7:PPKCS7; nid:longint):longint;
|
||||
_PKCS7_add_signature : function(p7:PPKCS7; x509:PX509; pkey:PEVP_PKEY; dgst:PEVP_MD):PPKCS7_SIGNER_INFO;
|
||||
_PKCS7_cert_from_signer_info : function(p7:PPKCS7; si:PPKCS7_SIGNER_INFO):PX509;
|
||||
_PKCS7_set_digest : function(p7:PPKCS7; md:PEVP_MD):longint;
|
||||
_PKCS7_add_recipient : function(p7:PPKCS7; x509:PX509):PPKCS7_RECIP_INFO;
|
||||
_PKCS7_add_recipient_info : function(p7:PPKCS7; ri:PPKCS7_RECIP_INFO):longint;
|
||||
_PKCS7_RECIP_INFO_set : function(p7i:PPKCS7_RECIP_INFO; x509:PX509):longint;
|
||||
_PKCS7_set_cipher : function(p7:PPKCS7; cipher:PEVP_CIPHER):longint;
|
||||
_PKCS7_get_issuer_and_serial : function(p7:PPKCS7; idx:longint):PPKCS7_ISSUER_AND_SERIAL;
|
||||
_PKCS7_digest_from_attributes : function(sk:Pstack_st_X509_ATTRIBUTE):Pointer;
|
||||
_PKCS7_add_signed_attribute : function(p7si:PPKCS7_SIGNER_INFO; nid:longint; _type:longint; data:pointer):longint;
|
||||
_PKCS7_add_attribute : function(p7si:PPKCS7_SIGNER_INFO; nid:longint; atrtype:longint; value:pointer):longint;
|
||||
_PKCS7_get_attribute : function(si:PPKCS7_SIGNER_INFO; nid:longint):PASN1_TYPE;
|
||||
_PKCS7_get_signed_attribute : function(si:PPKCS7_SIGNER_INFO; nid:longint):PASN1_TYPE;
|
||||
_PKCS7_set_signed_attributes : function(p7si:PPKCS7_SIGNER_INFO; sk:Pstack_st_X509_ATTRIBUTE):longint;
|
||||
_PKCS7_set_attributes : function(p7si:PPKCS7_SIGNER_INFO; sk:Pstack_st_X509_ATTRIBUTE):longint;
|
||||
_PKCS7_sign : function(signcert:PX509; pkey:PEVP_PKEY; certs:Pstack_st_X509; data:PBIO; flags:longint):PPKCS7;
|
||||
_PKCS7_sign_add_signer : function(p7:PPKCS7; signcert:PX509; pkey:PEVP_PKEY; md:PEVP_MD; flags:longint):PPKCS7_SIGNER_INFO;
|
||||
_PKCS7_final : function(p7:PPKCS7; data:PBIO; flags:longint):longint;
|
||||
_PKCS7_verify : function(p7:PPKCS7; certs:Pstack_st_X509; store: Pointer; indata:PBIO; _out:PBIO; flags:longint):longint;
|
||||
_PKCS7_encrypt : function(certs:Pstack_st_X509; _in:PBIO; cipher:PEVP_CIPHER; flags:longint):PPKCS7;
|
||||
_PKCS7_decrypt : function(p7:PPKCS7; pkey:PEVP_PKEY; cert:PX509; data:PBIO; flags:longint):longint;
|
||||
_PKCS7_add_attrib_smimecap : function(si:PPKCS7_SIGNER_INFO; cap:Pstack_st_X509_ALGOR):longint;
|
||||
_PKCS7_simple_smimecap : function(sk:Pstack_st_X509_ALGOR; nid:longint; arg:longint):longint;
|
||||
_PKCS7_add_attrib_content_type : function(si:PPKCS7_SIGNER_INFO; coid:Pointer):longint;
|
||||
_PKCS7_add0_attrib_signing_time : function(si:PPKCS7_SIGNER_INFO; t:PASN1_TIME):longint;
|
||||
_PKCS7_add1_attrib_digest : function(si:PPKCS7_SIGNER_INFO; md:Pbyte; mdlen:longint):longint;
|
||||
_BIO_new_PKCS7 : function(_out:PBIO; p7:PPKCS7):PBIO;
|
||||
_ERR_load_PKCS7_strings : procedure;
|
||||
|
||||
// libssl.dll
|
||||
|
||||
@ -2882,6 +3151,552 @@ begin
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
// PKCS7 Functions
|
||||
|
||||
|
||||
function PKCS7_ISSUER_AND_SERIAL_new : PPKCS7_ISSUER_AND_SERIAL;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_ISSUER_AND_SERIAL_new) then
|
||||
Result := _PKCS7_ISSUER_AND_SERIAL_new
|
||||
else
|
||||
Result := nil;
|
||||
end;
|
||||
|
||||
procedure PKCS7_ISSUER_AND_SERIAL_free (a:PPKCS7_ISSUER_AND_SERIAL);
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_ISSUER_AND_SERIAL_free) then
|
||||
_PKCS7_ISSUER_AND_SERIAL_free(a)
|
||||
end;
|
||||
|
||||
function PKCS7_ISSUER_AND_SERIAL_digest(data:PPKCS7_ISSUER_AND_SERIAL; _type:PEVP_MD; md:Pbyte; len:Pdword):longint;
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_ISSUER_AND_SERIAL_digest) then
|
||||
Result:=_PKCS7_ISSUER_AND_SERIAL_digest(data,_type,md,len)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_dup(p7:PPKCS7):PPKCS7;
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_dup) then
|
||||
Result:=_PKCS7_dup(p7)
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
function PEM_write_bio_PKCS7_stream(_out:PBIO; p7:PPKCS7; _in:PBIO; flags:longint):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PEM_write_bio_PKCS7_stream) then
|
||||
Result:=_PEM_write_bio_PKCS7_stream(_out,p7,_in,flags)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_SIGNER_INFO_new:PPKCS7_SIGNER_INFO;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_SIGNER_INFO_new) then
|
||||
Result:=_PKCS7_SIGNER_INFO_new
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
procedure PKCS7_SIGNER_INFO_free(a:PPKCS7_SIGNER_INFO);
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_SIGNER_INFO_free) then
|
||||
_PKCS7_SIGNER_INFO_free(a);
|
||||
end;
|
||||
|
||||
|
||||
function PKCS7_RECIP_INFO_new:PPKCS7_RECIP_INFO;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_RECIP_INFO_new) then
|
||||
Result:=_PKCS7_RECIP_INFO_new
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
procedure PKCS7_RECIP_INFO_free(a:PPKCS7_RECIP_INFO);
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_RECIP_INFO_free) then
|
||||
_PKCS7_RECIP_INFO_free(a);
|
||||
end;
|
||||
|
||||
|
||||
function PKCS7_SIGNED_new:PPKCS7_SIGNED;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_SIGNED_new) then
|
||||
Result:=_PKCS7_SIGNED_new
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
procedure PKCS7_SIGNED_free(a:PPKCS7_SIGNED);
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_SIGNED_free) then
|
||||
_PKCS7_SIGNED_free(a)
|
||||
end;
|
||||
|
||||
|
||||
function PKCS7_ENC_CONTENT_new:PPKCS7_ENC_CONTENT;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_ENC_CONTENT_new) then
|
||||
Result:=_PKCS7_ENC_CONTENT_new
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
procedure PKCS7_ENC_CONTENT_free(a:PPKCS7_ENC_CONTENT);
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_ENC_CONTENT_free) then
|
||||
_PKCS7_ENC_CONTENT_free(a)
|
||||
end;
|
||||
|
||||
|
||||
function PKCS7_ENVELOPE_new:PPKCS7_ENVELOPE;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_ENVELOPE_new) then
|
||||
Result:=_PKCS7_ENVELOPE_new
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
procedure PKCS7_ENVELOPE_free(a:PPKCS7_ENVELOPE);
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_ENVELOPE_free) then
|
||||
_PKCS7_ENVELOPE_free(a)
|
||||
end;
|
||||
|
||||
|
||||
function PKCS7_SIGN_ENVELOPE_new:PPKCS7_SIGN_ENVELOPE;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_SIGN_ENVELOPE_new) then
|
||||
Result:=_PKCS7_SIGN_ENVELOPE_new
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
procedure PKCS7_SIGN_ENVELOPE_free(a:PPKCS7_SIGN_ENVELOPE);
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_SIGN_ENVELOPE_free) then
|
||||
_PKCS7_SIGN_ENVELOPE_free(a)
|
||||
end;
|
||||
|
||||
|
||||
function PKCS7_DIGEST_new:PPKCS7_DIGEST;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_DIGEST_new) then
|
||||
Result:=_PKCS7_DIGEST_new
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
procedure PKCS7_DIGEST_free(a:PPKCS7_DIGEST);
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_DIGEST_free) then
|
||||
_PKCS7_DIGEST_free(a)
|
||||
end;
|
||||
|
||||
|
||||
function PKCS7_ENCRYPT_new:PPKCS7_ENCRYPT;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_ENCRYPT_new) then
|
||||
Result:=_PKCS7_ENCRYPT_new
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
procedure PKCS7_ENCRYPT_free(a:PPKCS7_ENCRYPT);
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_ENCRYPT_free) then
|
||||
_PKCS7_ENCRYPT_free(a)
|
||||
end;
|
||||
|
||||
|
||||
function PKCS7_new:PPKCS7;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_new) then
|
||||
Result:=_PKCS7_new
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
procedure PKCS7_free(a:PPKCS7);
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_free) then
|
||||
_PKCS7_free(a)
|
||||
end;
|
||||
|
||||
|
||||
function PKCS7_print_ctx(_out:PBIO; x:PPKCS7; indent:longint; pctx:Pointer):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_print_ctx) then
|
||||
Result:=PKCS7_print_ctx(_out,x,indent,pctx)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_ctrl(p7:PPKCS7; cmd:longint; larg:longint; parg:Pchar):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_ctrl) then
|
||||
Result:=_PKCS7_ctrl(p7,cmd,larg,parg)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_set_type(p7:PPKCS7; _type:longint):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_set_type) then
|
||||
Result:=_PKCS7_set_type(p7,_type)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_set0_type_other(p7:PPKCS7; _type:longint; other:PASN1_TYPE):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_set0_type_other) then
|
||||
Result:=_PKCS7_set0_type_other(p7,_type,other)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_set_content(p7:PPKCS7; p7_data:PPKCS7):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_set_content) then
|
||||
Result:=_PKCS7_set_content(p7,p7_Data)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_SIGNER_INFO_set(p7i:PPKCS7_SIGNER_INFO; x509:PX509; pkey:PEVP_PKEY; dgst:PEVP_MD):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_SIGNER_INFO_set) then
|
||||
Result:=_PKCS7_SIGNER_INFO_set(p7i,x509,pkey,dgst)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_SIGNER_INFO_sign(si:PPKCS7_SIGNER_INFO):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_SIGNER_INFO_sign) then
|
||||
Result:=_PKCS7_SIGNER_INFO_sign(si)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_add_signer(p7:PPKCS7; p7i:PPKCS7_SIGNER_INFO):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_add_signer) then
|
||||
Result:=_PKCS7_add_signer(p7,p7i)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_add_certificate(p7:PPKCS7; x509:PX509):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_add_certificate) then
|
||||
Result:=_PKCS7_add_certificate(p7,x509)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_add_crl(p7:PPKCS7; x509: Pointer):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_add_crl) then
|
||||
Result:=PKCS7_add_crl(p7,x509)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_content_new(p7:PPKCS7; nid:longint):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_content_new) then
|
||||
Result:=_PKCS7_content_new(p7,nid)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_add_signature(p7:PPKCS7; x509:PX509; pkey:PEVP_PKEY; dgst:PEVP_MD):PPKCS7_SIGNER_INFO;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_add_signature) then
|
||||
Result:=PKCS7_add_signature(p7,x509,pkey,dgst)
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
function PKCS7_cert_from_signer_info(p7:PPKCS7; si:PPKCS7_SIGNER_INFO):PX509;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_cert_from_signer_info) then
|
||||
Result:=_PKCS7_cert_from_signer_info(p7,si)
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
function PKCS7_set_digest(p7:PPKCS7; md:PEVP_MD):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_set_digest) then
|
||||
Result:=_PKCS7_set_digest(p7,md)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_add_recipient(p7:PPKCS7; x509:PX509):PPKCS7_RECIP_INFO;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_add_recipient) then
|
||||
Result:=_PKCS7_add_recipient(p7,x509)
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
function PKCS7_add_recipient_info(p7:PPKCS7; ri:PPKCS7_RECIP_INFO):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_add_recipient_info) then
|
||||
Result:=_PKCS7_add_recipient_info(p7,ri)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_RECIP_INFO_set(p7i:PPKCS7_RECIP_INFO; x509:PX509):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_RECIP_INFO_set) then
|
||||
Result:=_PKCS7_RECIP_INFO_set(p7i,x509)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_set_cipher(p7:PPKCS7; cipher:PEVP_CIPHER):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_set_cipher) then
|
||||
Result:=_PKCS7_set_cipher(p7,cipher)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_get_issuer_and_serial(p7:PPKCS7; idx:longint):PPKCS7_ISSUER_AND_SERIAL;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_get_issuer_and_serial) then
|
||||
Result:=_PKCS7_get_issuer_and_serial(P7,idx)
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
function PKCS7_digest_from_attributes(sk:Pstack_st_X509_ATTRIBUTE):Pointer;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_digest_from_attributes) then
|
||||
Result:=_PKCS7_digest_from_attributes(sk)
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
function PKCS7_add_signed_attribute(p7si:PPKCS7_SIGNER_INFO; nid:longint; _type:longint; data:pointer):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_add_signed_attribute) then
|
||||
Result:=_PKCS7_add_signed_attribute(p7si,nid,_type,data)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_add_attribute(p7si:PPKCS7_SIGNER_INFO; nid:longint; atrtype:longint; value:pointer):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_add_attribute) then
|
||||
Result:=_PKCS7_add_attribute(p7si,nid,atrtype,value)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_get_attribute(si:PPKCS7_SIGNER_INFO; nid:longint):PASN1_TYPE;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_get_attribute) then
|
||||
Result:=_PKCS7_get_attribute(si,nid)
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
function PKCS7_get_signed_attribute(si:PPKCS7_SIGNER_INFO; nid:longint):PASN1_TYPE;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_get_signed_attribute) then
|
||||
Result:=_PKCS7_get_signed_attribute(si,nid)
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
function PKCS7_set_signed_attributes(p7si:PPKCS7_SIGNER_INFO; sk:Pstack_st_X509_ATTRIBUTE):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_set_signed_attributes) then
|
||||
Result:=_PKCS7_set_signed_attributes(p7si,sk)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_set_attributes(p7si:PPKCS7_SIGNER_INFO; sk:Pstack_st_X509_ATTRIBUTE):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_set_attributes) then
|
||||
Result:=_PKCS7_set_attributes(p7si,sk)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_sign(signcert:PX509; pkey:PEVP_PKEY; certs:Pstack_st_X509; data:PBIO; flags:longint):PPKCS7;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_sign) then
|
||||
Result:=_PKCS7_sign(signcert,pkey,certs,data,flags)
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
function PKCS7_sign_add_signer(p7:PPKCS7; signcert:PX509; pkey:PEVP_PKEY; md:PEVP_MD; flags:longint):PPKCS7_SIGNER_INFO;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_sign_add_signer) then
|
||||
Result:=_PKCS7_sign_add_signer(p7,signcert,pkey,md,flags)
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
function PKCS7_final(p7:PPKCS7; data:PBIO; flags:longint):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_final) then
|
||||
Result:=_PKCS7_final(p7,data,Flags)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_verify(p7:PPKCS7; certs:Pstack_st_X509; store: Pointer; indata:PBIO; _out:PBIO; flags:longint):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_verify) then
|
||||
Result:=_PKCS7_verify(p7,certs,store,indata,_out,flags)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_encrypt(certs:Pstack_st_X509; _in:PBIO; cipher:PEVP_CIPHER; flags:longint):PPKCS7;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_encrypt) then
|
||||
Result:=_PKCS7_encrypt(certs,_in,cipher,flags)
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
function PKCS7_decrypt(p7:PPKCS7; pkey:PEVP_PKEY; cert:PX509; data:PBIO; flags:longint):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_decrypt) then
|
||||
Result:=_PKCS7_decrypt(P7,pkey,cert,data,flags)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_add_attrib_smimecap(si:PPKCS7_SIGNER_INFO; cap:Pstack_st_X509_ALGOR):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_add_attrib_smimecap) then
|
||||
Result:=_PKCS7_add_attrib_smimecap(si,cap)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_simple_smimecap(sk:Pstack_st_X509_ALGOR; nid:longint; arg:longint):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_simple_smimecap) then
|
||||
Result:=_PKCS7_simple_smimecap(sk,nid,arg)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_add_attrib_content_type(si:PPKCS7_SIGNER_INFO; coid:Pointer):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_add_attrib_content_type) then
|
||||
Result:=_PKCS7_add_attrib_content_type(si,coid)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_add0_attrib_signing_time(si:PPKCS7_SIGNER_INFO; t:PASN1_TIME):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_add0_attrib_signing_time) then
|
||||
Result:=_PKCS7_add0_attrib_signing_time(si,t)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function PKCS7_add1_attrib_digest(si:PPKCS7_SIGNER_INFO; md:Pbyte; mdlen:longint):longint;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_PKCS7_add1_attrib_digest) then
|
||||
Result:=_PKCS7_add1_attrib_digest(si,md,mdlen)
|
||||
else
|
||||
Result:=-1;
|
||||
end;
|
||||
|
||||
function BIO_new_PKCS7(_out:PBIO; p7:PPKCS7):PBIO;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_BIO_new_PKCS7) then
|
||||
Result:=_BIO_new_PKCS7(_out,p7)
|
||||
else
|
||||
Result:=Nil;
|
||||
end;
|
||||
|
||||
procedure ERR_load_PKCS7_strings;
|
||||
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_ERR_load_PKCS7_strings) then
|
||||
_ERR_load_PKCS7_strings
|
||||
end;
|
||||
|
||||
|
||||
procedure CRYPTOcleanupAllExData;
|
||||
begin
|
||||
if InitSSLInterface and Assigned(_CRYPTOcleanupAllExData) then
|
||||
@ -3144,6 +3959,70 @@ begin
|
||||
_BIO_new_mem_buf := GetProcAddr(SSLUtilHandle, 'BIO_new_mem_buf');
|
||||
// Crypto Functions
|
||||
_SSLeay_version := GetProcAddr(SSLUtilHandle, 'SSLeay_version');
|
||||
// PKCS7
|
||||
_PKCS7_ISSUER_AND_SERIAL_new:=GetProcAddr(SSLUtilHandle,'PKCS7_ISSUER_AND_SERIAL_new');
|
||||
_PKCS7_ISSUER_AND_SERIAL_free:=GetProcAddr(SSLUtilHandle,'PKCS7_ISSUER_AND_SERIAL_free');
|
||||
_PKCS7_ISSUER_AND_SERIAL_digest:=GetProcAddr(SSLUtilHandle,'PKCS7_ISSUER_AND_SERIAL_digest');
|
||||
_PKCS7_dup:=GetProcAddr(SSLUtilHandle,'PKCS7_dup');
|
||||
_PEM_write_bio_PKCS7_stream:=GetProcAddr(SSLUtilHandle,'PEM_write_bio_PKCS7_stream');
|
||||
_PKCS7_SIGNER_INFO_new:=GetProcAddr(SSLUtilHandle,'PKCS7_SIGNER_INFO_new');
|
||||
_PKCS7_SIGNER_INFO_free:=GetProcAddr(SSLUtilHandle,'PKCS7_SIGNER_INFO_free');
|
||||
_PKCS7_RECIP_INFO_new:=GetProcAddr(SSLUtilHandle,'PKCS7_RECIP_INFO_new');
|
||||
_PKCS7_RECIP_INFO_free:=GetProcAddr(SSLUtilHandle,'PKCS7_RECIP_INFO_free');
|
||||
_PKCS7_SIGNED_new:=GetProcAddr(SSLUtilHandle,'PKCS7_SIGNED_new');
|
||||
_PKCS7_SIGNED_free:=GetProcAddr(SSLUtilHandle,'PKCS7_SIGNED_free');
|
||||
_PKCS7_ENC_CONTENT_new:=GetProcAddr(SSLUtilHandle,'PKCS7_ENC_CONTENT_new');
|
||||
_PKCS7_ENC_CONTENT_free:=GetProcAddr(SSLUtilHandle,'PKCS7_ENC_CONTENT_free');
|
||||
_PKCS7_ENVELOPE_new:=GetProcAddr(SSLUtilHandle,'PKCS7_ENVELOPE_new');
|
||||
_PKCS7_ENVELOPE_free:=GetProcAddr(SSLUtilHandle,'PKCS7_ENVELOPE_free');
|
||||
_PKCS7_SIGN_ENVELOPE_new:=GetProcAddr(SSLUtilHandle,'PKCS7_SIGN_ENVELOPE_new');
|
||||
_PKCS7_SIGN_ENVELOPE_free:=GetProcAddr(SSLUtilHandle,'PKCS7_SIGN_ENVELOPE_free');
|
||||
_PKCS7_DIGEST_new:=GetProcAddr(SSLUtilHandle,'PKCS7_DIGEST_new');
|
||||
_PKCS7_DIGEST_free:=GetProcAddr(SSLUtilHandle,'PKCS7_DIGEST_free');
|
||||
_PKCS7_ENCRYPT_new:=GetProcAddr(SSLUtilHandle,'PKCS7_ENCRYPT_new');
|
||||
_PKCS7_ENCRYPT_free:=GetProcAddr(SSLUtilHandle,'PKCS7_ENCRYPT_free');
|
||||
_PKCS7_new:=GetProcAddr(SSLUtilHandle,'PKCS7_new');
|
||||
_PKCS7_free:=GetProcAddr(SSLUtilHandle,'PKCS7_free');
|
||||
_PKCS7_print_ctx:=GetProcAddr(SSLUtilHandle,'PKCS7_print_ctx');
|
||||
_PKCS7_ctrl:=GetProcAddr(SSLUtilHandle,'PKCS7_ctrl');
|
||||
_PKCS7_set_type:=GetProcAddr(SSLUtilHandle,'PKCS7_set_type');
|
||||
_PKCS7_set0_type_other:=GetProcAddr(SSLUtilHandle,'PKCS7_set0_type_other');
|
||||
_PKCS7_set_content:=GetProcAddr(SSLUtilHandle,'PKCS7_set_content');
|
||||
_PKCS7_SIGNER_INFO_set:=GetProcAddr(SSLUtilHandle,'PKCS7_SIGNER_INFO_set');
|
||||
_PKCS7_SIGNER_INFO_sign:=GetProcAddr(SSLUtilHandle,'PKCS7_SIGNER_INFO_sign');
|
||||
_PKCS7_add_signer:=GetProcAddr(SSLUtilHandle,'PKCS7_add_signer');
|
||||
_PKCS7_add_certificate:=GetProcAddr(SSLUtilHandle,'PKCS7_add_certificate');
|
||||
_PKCS7_add_crl:=GetProcAddr(SSLUtilHandle,'PKCS7_add_crl');
|
||||
_PKCS7_content_new:=GetProcAddr(SSLUtilHandle,'PKCS7_content_new');
|
||||
_PKCS7_add_signature:=GetProcAddr(SSLUtilHandle,'PKCS7_add_signature');
|
||||
_PKCS7_cert_from_signer_info:=GetProcAddr(SSLUtilHandle,'PKCS7_cert_from_signer_info');
|
||||
_PKCS7_set_digest:=GetProcAddr(SSLUtilHandle,'PKCS7_set_digest');
|
||||
_PKCS7_add_recipient:=GetProcAddr(SSLUtilHandle,'PKCS7_add_recipient');
|
||||
_PKCS7_add_recipient_info:=GetProcAddr(SSLUtilHandle,'PKCS7_add_recipient_info');
|
||||
_PKCS7_RECIP_INFO_set:=GetProcAddr(SSLUtilHandle,'PKCS7_RECIP_INFO_set');
|
||||
_PKCS7_set_cipher:=GetProcAddr(SSLUtilHandle,'PKCS7_set_cipher');
|
||||
_PKCS7_get_issuer_and_serial:=GetProcAddr(SSLUtilHandle,'PKCS7_get_issuer_and_serial');
|
||||
_PKCS7_digest_from_attributes:=GetProcAddr(SSLUtilHandle,'PKCS7_digest_from_attributes');
|
||||
_PKCS7_add_signed_attribute:=GetProcAddr(SSLUtilHandle,'PKCS7_add_signed_attribute');
|
||||
_PKCS7_add_attribute:=GetProcAddr(SSLUtilHandle,'PKCS7_add_attribute');
|
||||
_PKCS7_get_attribute:=GetProcAddr(SSLUtilHandle,'PKCS7_get_attribute');
|
||||
_PKCS7_get_signed_attribute:=GetProcAddr(SSLUtilHandle,'PKCS7_get_signed_attribute');
|
||||
_PKCS7_set_signed_attributes:=GetProcAddr(SSLUtilHandle,'PKCS7_set_signed_attributes');
|
||||
_PKCS7_set_attributes:=GetProcAddr(SSLUtilHandle,'PKCS7_set_attributes');
|
||||
_PKCS7_sign:=GetProcAddr(SSLUtilHandle,'PKCS7_sign');
|
||||
_PKCS7_sign_add_signer:=GetProcAddr(SSLUtilHandle,'PKCS7_sign_add_signer');
|
||||
_PKCS7_final:=GetProcAddr(SSLUtilHandle,'PKCS7_final');
|
||||
_PKCS7_verify:=GetProcAddr(SSLUtilHandle,'PKCS7_verify');
|
||||
_PKCS7_encrypt:=GetProcAddr(SSLUtilHandle,'PKCS7_encrypt');
|
||||
_PKCS7_decrypt:=GetProcAddr(SSLUtilHandle,'PKCS7_decrypt');
|
||||
_PKCS7_add_attrib_smimecap:=GetProcAddr(SSLUtilHandle,'PKCS7_add_attrib_smimecap');
|
||||
_PKCS7_simple_smimecap:=GetProcAddr(SSLUtilHandle,'PKCS7_simple_smimecap');
|
||||
_PKCS7_add_attrib_content_type:=GetProcAddr(SSLUtilHandle,'PKCS7_add_attrib_content_type');
|
||||
_PKCS7_add0_attrib_signing_time:=GetProcAddr(SSLUtilHandle,'PKCS7_add0_attrib_signing_time');
|
||||
_PKCS7_add1_attrib_digest:=GetProcAddr(SSLUtilHandle,'PKCS7_add1_attrib_digest');
|
||||
_BIO_new_PKCS7:=GetProcAddr(SSLUtilHandle,'BIO_new_PKCS7');
|
||||
_ERR_load_PKCS7_strings:=GetProcAddr(SSLUtilHandle,'ERR_load_PKCS7_strings');
|
||||
|
||||
end;
|
||||
|
||||
Function LoadUtilLibrary : Boolean;
|
||||
@ -3202,6 +4081,69 @@ begin
|
||||
_SslCipherGetName := nil;
|
||||
_SslCipherGetBits := nil;
|
||||
_SslGetVerifyResult := nil;
|
||||
|
||||
_PKCS7_ISSUER_AND_SERIAL_new:=nil;
|
||||
_PKCS7_ISSUER_AND_SERIAL_free:=nil;
|
||||
_PKCS7_ISSUER_AND_SERIAL_digest:=nil;
|
||||
_PKCS7_dup:=nil;
|
||||
_PEM_write_bio_PKCS7_stream:=nil;
|
||||
_PKCS7_SIGNER_INFO_new:=nil;
|
||||
_PKCS7_SIGNER_INFO_free:=nil;
|
||||
_PKCS7_RECIP_INFO_new:=nil;
|
||||
_PKCS7_RECIP_INFO_free:=nil;
|
||||
_PKCS7_SIGNED_new:=nil;
|
||||
_PKCS7_SIGNED_free:=nil;
|
||||
_PKCS7_ENC_CONTENT_new:=nil;
|
||||
_PKCS7_ENC_CONTENT_free:=nil;
|
||||
_PKCS7_ENVELOPE_new:=nil;
|
||||
_PKCS7_ENVELOPE_free:=nil;
|
||||
_PKCS7_SIGN_ENVELOPE_new:=nil;
|
||||
_PKCS7_SIGN_ENVELOPE_free:=nil;
|
||||
_PKCS7_DIGEST_new:=nil;
|
||||
_PKCS7_DIGEST_free:=nil;
|
||||
_PKCS7_ENCRYPT_new:=nil;
|
||||
_PKCS7_ENCRYPT_free:=nil;
|
||||
_PKCS7_new:=nil;
|
||||
_PKCS7_free:=nil;
|
||||
_PKCS7_print_ctx:=nil;
|
||||
_PKCS7_ctrl:=nil;
|
||||
_PKCS7_set_type:=nil;
|
||||
_PKCS7_set0_type_other:=nil;
|
||||
_PKCS7_set_content:=nil;
|
||||
_PKCS7_SIGNER_INFO_set:=nil;
|
||||
_PKCS7_SIGNER_INFO_sign:=nil;
|
||||
_PKCS7_add_signer:=nil;
|
||||
_PKCS7_add_certificate:=nil;
|
||||
_PKCS7_add_crl:=nil;
|
||||
_PKCS7_content_new:=nil;
|
||||
_PKCS7_add_signature:=nil;
|
||||
_PKCS7_cert_from_signer_info:=nil;
|
||||
_PKCS7_set_digest:=nil;
|
||||
_PKCS7_add_recipient:=nil;
|
||||
_PKCS7_add_recipient_info:=nil;
|
||||
_PKCS7_RECIP_INFO_set:=nil;
|
||||
_PKCS7_set_cipher:=nil;
|
||||
_PKCS7_get_issuer_and_serial:=nil;
|
||||
_PKCS7_digest_from_attributes:=nil;
|
||||
_PKCS7_add_signed_attribute:=nil;
|
||||
_PKCS7_add_attribute:=nil;
|
||||
_PKCS7_get_attribute:=nil;
|
||||
_PKCS7_get_signed_attribute:=nil;
|
||||
_PKCS7_set_signed_attributes:=nil;
|
||||
_PKCS7_set_attributes:=nil;
|
||||
_PKCS7_sign:=nil;
|
||||
_PKCS7_sign_add_signer:=nil;
|
||||
_PKCS7_final:=nil;
|
||||
_PKCS7_verify:=nil;
|
||||
_PKCS7_encrypt:=nil;
|
||||
_PKCS7_decrypt:=nil;
|
||||
_PKCS7_add_attrib_smimecap:=nil;
|
||||
_PKCS7_simple_smimecap:=nil;
|
||||
_PKCS7_add_attrib_content_type:=nil;
|
||||
_PKCS7_add0_attrib_signing_time:=nil;
|
||||
_PKCS7_add1_attrib_digest:=nil;
|
||||
_BIO_new_PKCS7:=nil;
|
||||
_ERR_load_PKCS7_strings:=nil;
|
||||
end;
|
||||
|
||||
Procedure UnloadSSLLib;
|
||||
|
Loading…
Reference in New Issue
Block a user