Skip to content

Commit b62becb

Browse files
author
Levent KARAGÖL
committed
RSA padding changed to PKCS1 OAEP for compatibility with other languages
1 parent 0fa5136 commit b62becb

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

examples/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ void encryptWithRSA()
8989

9090
void decryptWithRSA()
9191
{
92-
auto encryptedText = "RVq6qJqexZGmxQtnCEwgIJqj7rxcAdnlQUqQ+qwWzc0y/VlX/EJ+/HuuMPrFbvDcgJnfVDz7WE2pHcJWR0lLR++UWxzLT8PRqBCpI0fX7ymqsaPCn2w/Q826FplfzlIpt0LZdkrkaSa/V/HMcQOPJ4JONuWxNaUpggA0KKOHdkH8A2RcpSnc4NskwPt84b9TU/mEwHlvyIzpvSF3/AiaGbSH5wEIe5iniBBhE7bUlkadvGu6jv8wiGqSeD/fWzZM7gbwmlxqxSzKFIJOpNwxya5+h7mHNGMmmZVVfGunrm6P0l7Qfz/cGf7Rca2SOgFosBWCr7NpjjM/AaK4PYVZwg==";
92+
auto encryptedText = "dHKwJR4tepg8XwuUo9Kr1hFN3BjMVo9AAxGMCFpLHjvRJRwUojnH0vexouobLlG4hfWo/c4/61Q31/RfayascjdDJHFtPL7TjQHsMO+tg/cMCqHhmvXoUi9lmZs576PP3jibOe5g+YnU6FuGnnkgY3oljFQG50wdUM0lOrsV+zcucqE8G6APpjuqrJo1lvfcIVt2q6l99UF6RijkhX1IMifBjZIC13p0qLaaYfvT2KTOPZ2UWqTrQa2kSfsVJCdXK0aYfyrspRbs2eY1H5SW+0GV1YLtVNDQVg4djfSRaXEX+Ym/WtonNsXQyxbYZmINDaTzutb1KYq8upAI67Ax2g==";
9393

9494
auto privateKey = "-----BEGIN PRIVATE KEY-----\n"
9595
"MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDAgBJHSAjCLOC/\n"

src/libcpp-crypto.hpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
33
Easy-to-use, symmetric (AES-256) and asymmetric (RSA) encryption and also hash (SHA-256) library for C++ (17+)
4-
version 1.3.0
4+
version 1.3.1
55
https://github.com/leventkaragol/libcpp-crypto
66
77
If you encounter any issues, please submit a ticket at https://github.com/leventkaragol/libcpp-crypto/issues
@@ -614,6 +614,11 @@ namespace lklibs
614614
throw CryptoException("Failed to initialize encryption operation");
615615
}
616616

617+
if (EVP_PKEY_CTX_set_rsa_padding(ctx.get(), RSA_PKCS1_OAEP_PADDING) <= 0)
618+
{
619+
throw CryptoException("Failed to set RSA padding");
620+
}
621+
617622
size_t outlen;
618623

619624
if (EVP_PKEY_encrypt(ctx.get(), nullptr, &outlen, reinterpret_cast<const unsigned char*>(plaintext.data()), plaintext.size()) <= 0)
@@ -671,6 +676,11 @@ namespace lklibs
671676
throw CryptoException("Failed to initialize decryption operation");
672677
}
673678

679+
if (EVP_PKEY_CTX_set_rsa_padding(ctx.get(), RSA_PKCS1_OAEP_PADDING) <= 0)
680+
{
681+
throw CryptoException("Failed to set RSA padding");
682+
}
683+
674684
size_t outlen;
675685

676686
if (EVP_PKEY_decrypt(ctx.get(), nullptr, &outlen, reinterpret_cast<const unsigned char*>(encryptedText.data()), encryptedText.size()) <= 0)

0 commit comments

Comments
 (0)