X-Git-Url: http://plrg.eecs.uci.edu/git/?p=folly.git;a=blobdiff_plain;f=folly%2Fportability%2Ftest%2FOpenSSLPortabilityTest.cpp;h=7c1bbf87c71fdd1cf2497449b12ddfdfdc541d45;hp=bb95a75577af392a19ca7b10d844dbba102d09ec;hb=4f8bbf577c7034dd0469e804e23780fdd0465541;hpb=0f5638fe81b9dafd9a222bc5e9b1047692e0326e diff --git a/folly/portability/test/OpenSSLPortabilityTest.cpp b/folly/portability/test/OpenSSLPortabilityTest.cpp index bb95a755..7c1bbf87 100644 --- a/folly/portability/test/OpenSSLPortabilityTest.cpp +++ b/folly/portability/test/OpenSSLPortabilityTest.cpp @@ -15,34 +15,47 @@ */ #include -#include +#include using namespace folly; +using namespace folly::ssl; using namespace testing; TEST(OpenSSLPortabilityTest, TestRSASetter) { - RSA* r = RSA_new(); - RSA* public_key = RSA_new(); + RsaUniquePtr r(RSA_new()); BIGNUM* n = BN_new(); BIGNUM* e = BN_new(); BIGNUM* d = BN_new(); - const BIGNUM* n_actual = BN_new(); - const BIGNUM* e_actual = BN_new(); - const BIGNUM* d_actual = BN_new(); + BIGNUM* n_actual; + BIGNUM* e_actual; + BIGNUM* d_actual; EXPECT_TRUE(BN_set_bit(n, 1)); EXPECT_TRUE(BN_set_bit(e, 3)); EXPECT_TRUE(BN_set_bit(d, 2)); - RSA_set0_key(r, n, e, d); - RSA_get0_key(r, &n_actual, &e_actual, &d_actual); + RSA_set0_key(r.get(), n, e, d); + RSA_get0_key( + r.get(), + (const BIGNUM**)&n_actual, + (const BIGNUM**)&e_actual, + (const BIGNUM**)&d_actual); // BN_cmp returns 0 if the two BIGNUMs are equal EXPECT_FALSE(BN_cmp(n, n_actual)); EXPECT_FALSE(BN_cmp(e, e_actual)); EXPECT_FALSE(BN_cmp(d, d_actual)); - RSA_set0_key(public_key, n, e, nullptr); - const BIGNUM* n_public = BN_new(); - const BIGNUM* e_public = BN_new(); - RSA_get0_key(public_key, &n_public, &e_public, nullptr); - EXPECT_FALSE(BN_cmp(n, n_public)); - EXPECT_FALSE(BN_cmp(e, e_public)); + RsaUniquePtr public_key(RSA_new()); + BIGNUM* n_public = BN_new(); + BIGNUM* e_public = BN_new(); + EXPECT_TRUE(BN_set_bit(n_public, 1)); + EXPECT_TRUE(BN_set_bit(e_public, 3)); + RSA_set0_key(public_key.get(), n_public, e_public, nullptr); + BIGNUM* n_public_actual; + BIGNUM* e_public_actual; + RSA_get0_key( + public_key.get(), + (const BIGNUM**)&n_public_actual, + (const BIGNUM**)&e_public_actual, + nullptr); + EXPECT_FALSE(BN_cmp(n_public, n_public_actual)); + EXPECT_FALSE(BN_cmp(e_public, e_public_actual)); }