-
Notifications
You must be signed in to change notification settings - Fork 206
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
2023-11-22 09:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbssl/hbssl.hbm * contrib/hbssl/hbssl.hbx * contrib/hbssl/hbssl.h + contrib/hbssl/rsa.c + added PRG functions for RSA encryption/decryption: RSA_size( <pKey> ) -> <nCipherBlockSize> RSA_public_encrypt( <pKey>, <cData>, @<cDataEnc> ; [, <nPadding> = HB_RSA_PKCS1_PADDING ] ) ; -> <nSize> > 0 | <nError> <= 0 RSA_private_decrypt( <pKey>, <cDataEnc>, @<cDataDec> ; [, <nPadding> = HB_RSA_PKCS1_PADDING ] ) ; -> <nSize> > 0 | <nError> <= 0 RSA_private_encrypt( <pKey>, <cData>, @<cDataEnc> ; [, <nPadding> = HB_RSA_PKCS1_PADDING ] ) ; -> <nSize> > 0 | <nError> <= 0 RSA_public_decrypt( <pKey>, <cDataEnc>, @<cDataDec> ; [, <nPadding> = HB_RSA_PKCS1_PADDING ] ) ; -> <nSize> > 0 | <nError> <= 0 + added C functions for manipulating RSA keys inside HB_ITEMs: HB_BOOL hb_RSA_is( int iParam ); RSA * hb_RSA_par( int iParam ); void hb_RSA_ret( RSA * rsa ); * contrib/hbssl/pem.c + added support for RSA keys. Now the following PRG functions return RSA key which can be passed to RSA_* functions: PEM_READ_BIO_RSAPRIVATEKEY() PEM_READ_BIO_RSAPUBLICKEY() PEM_READ_BIO_RSA_PUBKEY() * contrib/hbssl/evppkey.c + added functions for EVP_PKEY encryption/decryption: EVP_PKEY_base_id( <pKey> ) -> <nType> EVP_PKEY_CTX_new( <pKey> ) -> <pKeyCTX> EVP_PKEY_encrypt_init( <pKeyCTX> ) -> <nResult> (1 - OK, <=0 - Error) EVP_PKEY_encrypt( <pKeyCTX>, @<cDataEnc>, <cData> ) ; -> <nSize> > 0 | <nError> <= 0 EVP_PKEY_decrypt_init( <pKeyCTX> ) -> <nResult> (1 - OK, <=0 - Error) EVP_PKEY_decrypt( <pKeyCTX>, @<cDataDec>, <cDataEnc> ) ; -> <nSize> > 0 | <nError> <= 0 Above functions can be used with keys loaded by: PEM_READ_PRIVATEKEY() PEM_READ_PUBKEY() In OpenSSL 3.0 typed functions like *RSA*, *DSA*, *DH*, ... are depreciated and common for different methods EVP ones should be used instead. + added support for RSA encryption/decryption in above functions in OpenSSL libraries prior 1.0.0 which do not have EVP_PKEY_CTX. RSA support is emulated by direct calls to RSA_* functions so now for RSA it's possible to use new functions with old OpenSSL libraries. * contrib/hbssl/hbssl.ch + added constants for RSA padding: HB_RSA_*_PADDING + added constants for EVP PKEY types: HB_EVP_PKEY_* * contrib/hbssl/hbssl.hbx + added new functions
- Loading branch information
Showing
8 changed files
with
612 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.