1 #include <boost/test/unit_test.hpp>
2 #include <test_common.h>
4 #include <certificate-impl.h>
6 #include <openssl/x509.h>
13 BOOST_AUTO_TEST_SUITE(CKM_CERTIFICATE_IMPL_TEST)
16 BOOST_AUTO_TEST_CASE(CKM_CERTIFICATE_IMPL_TESTS) {
18 "MIIDOzCCAiOgAwIBAgIBADANBgkqhkiG9w0BAQUFADBYMRowGAYDVQQKDBFUaXpl\n"
19 "biBBc3NvY2lhdGlvbjEaMBgGA1UECwwRVGl6ZW4gQXNzb2NpYXRpb24xHjAcBgNV\n"
20 "BAMMFVRpemVuIERldmVsb3BlcnMgUm9vdDAeFw0xMjAxMDEwMDAwMDBaFw0zMjAx\n"
21 "MDEwMDAwMDBaMFgxGjAYBgNVBAoMEVRpemVuIEFzc29jaWF0aW9uMRowGAYDVQQL\n"
22 "DBFUaXplbiBBc3NvY2lhdGlvbjEeMBwGA1UEAwwVVGl6ZW4gRGV2ZWxvcGVycyBS\n"
23 "b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp2rCwXTYh28vcagX\n"
24 "WLIeVtEvXA5EeTR9UnL4Dzyd7hIq8rkxLbIMMOcCrXMTc7bEH2twFaTuXxyKXMW/\n"
25 "2c+id3m3Z1B5caCqwSPr72oKPSI4jSkvrAC5W7EHx16M818aG4tQkXIUBhDrtSmH\n"
26 "6dFOdt8zGq2fanj1sETfUmXAeLGE7OQYcEb2SoWGXR75Ytfp1LAw/L3luuG/kbzB\n"
27 "crZt1Cv05jfCP575eope6p5p80Gl0tieXyPYhSLVTLwhEdWx18CMaC7IXQo2Bm+J\n"
28 "djDH0Ruh/vTRnjFtmVB+nBOZNVzMHNOPUVFKSgysX/+PlM4jBTvbaTnPCZUkC/O7\n"
29 "5tYIpwIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQBw\n"
30 "95ibcuAiKpAEqBMyTZtOf0okhSi9NYfs/AFIPLH5REnhtQkPmKsvDp21OSdzrFEL\n"
31 "42rV94K98QChD9tGO6Mwp1ZHM3No7/PLC3EelOwmn4dr3KPGdjvQNSwKRblGh0Hj\n"
32 "n4fI+studFLLv6ldCLIpA/Ssgf9GuUbcjTC8OWBYPVUQ6YoXAcuHbfhr6a2IXRTj\n"
33 "lJUCt3qWyciP2H/R+oNBSjtlq13ZT+D9AQMmIG/5w1tK0HzDRhORfWlKCo5JKn0A\n"
34 "iQq2fwtoB0JQEHRKCKZYWghG41HuKc82xLf6H7x24XWOAlXb0SpvVENT1i89XNrj\n"
35 "XS4modIY545rYjI1amfL\n";
37 CertificateImpl cert(RawBuffer(certStr.begin(),certStr.end()), DataFormat::FORM_DER_BASE64);
38 X509* certX509 = cert.getX509();
40 CertificateImpl cert2(certX509, true);
42 CertificateImpl cert3(cert);
43 CertificateImpl cert4(CertificateImpl(cert));
45 CertificateImpl cert5 = cert;
46 CertificateImpl cert6 = CertificateImpl(cert);
48 KeyImpl::EvpShPtr certEvpShPtr = cert.getEvpShPtr();
50 KeyImpl keyImpl = cert.getKeyImpl();
52 std::string issuer = cert.getOneLine(CertificateFieldId::ISSUER);
53 std::string subject = cert.getOneLine(CertificateFieldId::SUBJECT);
55 std::string issuerCommonNameField = cert.getField(CertificateFieldId::ISSUER, NID_commonName);
57 std::string commonName = cert.getCommonName(CertificateFieldId::SUBJECT);
58 std::string country = cert.getCountryName(CertificateFieldId::SUBJECT);
59 std::string state = cert.getStateOrProvinceName(CertificateFieldId::SUBJECT);
60 std::string locality = cert.getLocalityName(CertificateFieldId::SUBJECT);
61 std::string organization = cert.getOrganizationName(CertificateFieldId::SUBJECT);
62 std::string ouName = cert.getOrganizationalUnitName(CertificateFieldId::SUBJECT);
63 std::string email = cert.getEmailAddres(CertificateFieldId::SUBJECT);
64 std::string ocspUrl = cert.getOCSPURL();
67 BOOST_AUTO_TEST_CASE(CKM_BASE64_TESTS) {
68 std::string origStr = "test data";
69 RawBuffer origBuffer(origStr.begin(), origStr.end());
71 Base64Encoder encoder;
73 encoder.append(origBuffer);
75 RawBuffer base64 = encoder.get();
77 Base64Decoder decoder;
79 decoder.append(base64);
81 RawBuffer decoded = decoder.get();
83 std::string decodedStr = std::string(decoded.begin(), decoded.end());
85 BOOST_REQUIRE_MESSAGE(origStr.compare(decodedStr) == 0, "Base64 encoding/decoding returned a wrong value");
89 BOOST_AUTO_TEST_SUITE_END()