mirror of
https://github.com/savoirfairelinux/opendht.git
synced 2026-11-08 12:28:42 +00:00
92 lines
2.5 KiB
C++
92 lines
2.5 KiB
C++
// Copyright (c) 2014-2026 Savoir-faire Linux Inc.
|
|
// SPDX-License-Identifier: MIT
|
|
#pragma once
|
|
|
|
// cppunit
|
|
#include <cppunit/TestFixture.h>
|
|
#include <cppunit/extensions/HelperMacros.h>
|
|
|
|
namespace test {
|
|
|
|
class CryptoTester : public CppUnit::TestFixture
|
|
{
|
|
CPPUNIT_TEST_SUITE(CryptoTester);
|
|
CPPUNIT_TEST(testSignatureEncryption);
|
|
CPPUNIT_TEST(testPublicKeyPemIsPlainText);
|
|
CPPUNIT_TEST(testCertificateRevocation);
|
|
CPPUNIT_TEST(testRevocationListNumber);
|
|
CPPUNIT_TEST(testRevocationListExplicitNumber);
|
|
CPPUNIT_TEST(testRevocationListPartitionedNumber);
|
|
CPPUNIT_TEST(testCertificateRequest);
|
|
CPPUNIT_TEST(testCertificateSerialNumber);
|
|
CPPUNIT_TEST(testEcKeyCurve);
|
|
CPPUNIT_TEST(testOcsp);
|
|
CPPUNIT_TEST(testAesEncryption);
|
|
CPPUNIT_TEST(testAesEncryptionWithMultipleKeySizes);
|
|
CPPUNIT_TEST(testOaep);
|
|
CPPUNIT_TEST(testWebPushEncryption);
|
|
CPPUNIT_TEST(testWebPushRFC8291);
|
|
CPPUNIT_TEST_SUITE_END();
|
|
|
|
public:
|
|
/**
|
|
* Method automatically called before each test by CppUnit
|
|
*/
|
|
void setUp();
|
|
/**
|
|
* Method automatically called after each test CppUnit
|
|
*/
|
|
void tearDown();
|
|
/**
|
|
* Test data signature, encryption and decryption
|
|
*/
|
|
void testSignatureEncryption();
|
|
/**
|
|
* Test that an exported public key is text only, with no embedded null byte
|
|
*/
|
|
void testPublicKeyPemIsPlainText();
|
|
/**
|
|
* Test certificate generation, validation and revocation
|
|
*/
|
|
void testCertificateRevocation();
|
|
/**
|
|
* Test the default CRL Number behavior: random on first signature, incremented after
|
|
*/
|
|
void testRevocationListNumber();
|
|
/**
|
|
* Test signing a revocation list with a caller-provided CRL Number
|
|
*/
|
|
void testRevocationListExplicitNumber();
|
|
/**
|
|
* Test that issuers sharing an authority can partition the CRL Number space
|
|
*/
|
|
void testRevocationListPartitionedNumber();
|
|
/**
|
|
* Test certificate requests
|
|
*/
|
|
void testCertificateRequest();
|
|
/**
|
|
* Test certificate serial number extraction
|
|
*/
|
|
void testCertificateSerialNumber();
|
|
/**
|
|
* Test EC private key generation with an explicit curve
|
|
*/
|
|
void testEcKeyCurve();
|
|
/**
|
|
* Test OCSP
|
|
*/
|
|
void testOcsp();
|
|
/**
|
|
* Test key streching and aes encryption/decryption
|
|
*/
|
|
void testAesEncryption();
|
|
void testAesEncryptionWithMultipleKeySizes();
|
|
|
|
void testOaep();
|
|
void testWebPushEncryption();
|
|
void testWebPushRFC8291();
|
|
};
|
|
|
|
} // namespace test
|