X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=test%2Fsrc%2FX509Req.cpp;h=f1dc3fce320045e558828ebcefc02f12ed7e8fb1;hb=128643d9008941e2e09e25ab23ba9d4844af4cc8;hp=c6c95ace66a95df140ef8bbc012330e0c13f23d9;hpb=956e14c8c610af488cdb94ae57ae1b4aa819aa83;p=cassiopeia.git diff --git a/test/src/X509Req.cpp b/test/src/X509Req.cpp index c6c95ac..f1dc3fc 100644 --- a/test/src/X509Req.cpp +++ b/test/src/X509Req.cpp @@ -1,10 +1,11 @@ -#include - #include -#include "X509.h" +#include + #include "util.h" +#include "crypto/X509.h" + BOOST_AUTO_TEST_SUITE( TestX509Req ) BOOST_AUTO_TEST_CASE( CSR ) { @@ -12,16 +13,23 @@ BOOST_AUTO_TEST_CASE( CSR ) { std::shared_ptr req( X509Req::parseCSR( readFile( "testdata/test.csr" ) ) ); BOOST_REQUIRE( req ); BOOST_CHECK( req->verify() == 1 ); + BOOST_REQUIRE( ERR_peek_error() == 0 ); // Testing a CSR, where the signature content has been tampered with req = std::shared_ptr( X509Req::parseCSR( readFile( "testdata/test_false_sig.csr" ) ) ); BOOST_REQUIRE( req ); BOOST_CHECK( req->verify() == 0 ); + BOOST_REQUIRE( ERR_get_error() != 0 ); // RSA_padding_check_PKCS1_type_1:block type is not 01 + BOOST_REQUIRE( ERR_get_error() != 0 ); // RSA_EAY_PUBLIC_DECRYPT:padding check failed + BOOST_REQUIRE( ERR_get_error() != 0 ); // ASN1_item_verify:EVP lib + BOOST_REQUIRE( ERR_get_error() == 0 ); // Testing a CSR, where the signature OID is something strange req = std::shared_ptr( X509Req::parseCSR( readFile( "testdata/test_invalid_sig.csr" ) ) ); BOOST_REQUIRE( req ); BOOST_CHECK( req->verify() < 0 ); + BOOST_REQUIRE( ERR_get_error() != 0 ); // ASN1_item_verify:unknown signature algorithm + BOOST_REQUIRE( ERR_get_error() == 0 ); } BOOST_AUTO_TEST_CASE( SPKAC ) {