tizen 2.4 release
[framework/security/key-manager.git] / tests / test_lcov_certificate-impl.cpp
1 #include <boost/test/unit_test.hpp>
2 #include <test_common.h>
3
4 #include <certificate-impl.h>
5 #include <base64.h>
6 #include <openssl/x509.h>
7
8 #include <string>
9
10
11 using namespace CKM;
12
13 BOOST_AUTO_TEST_SUITE(CKM_CERTIFICATE_IMPL_TEST)
14
15
16 BOOST_AUTO_TEST_CASE(CKM_CERTIFICATE_IMPL_TESTS) {
17     std::string certStr = 
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";
36
37     CertificateImpl cert(RawBuffer(certStr.begin(),certStr.end()), DataFormat::FORM_DER_BASE64);
38     X509* certX509 = cert.getX509();
39
40     CertificateImpl cert2(certX509, true);
41
42     CertificateImpl cert3(cert);
43     CertificateImpl cert4(CertificateImpl(cert));
44
45     CertificateImpl cert5 = cert;
46     CertificateImpl cert6 = CertificateImpl(cert);
47
48     KeyImpl::EvpShPtr certEvpShPtr = cert.getEvpShPtr();
49
50     KeyImpl keyImpl = cert.getKeyImpl();
51
52     std::string issuer = cert.getOneLine(CertificateFieldId::ISSUER);
53     std::string subject = cert.getOneLine(CertificateFieldId::SUBJECT);
54
55     std::string issuerCommonNameField = cert.getField(CertificateFieldId::ISSUER, NID_commonName);
56
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();
65 }
66
67 BOOST_AUTO_TEST_CASE(CKM_BASE64_TESTS) {
68     std::string origStr = "test data";
69     RawBuffer origBuffer(origStr.begin(), origStr.end());
70
71     Base64Encoder encoder;
72     encoder.reset();
73     encoder.append(origBuffer);
74     encoder.finalize();
75     RawBuffer base64 = encoder.get();
76
77     Base64Decoder decoder; 
78     decoder.reset();
79     decoder.append(base64);
80     decoder.finalize();
81     RawBuffer decoded = decoder.get();
82
83     std::string decodedStr = std::string(decoded.begin(), decoded.end());
84
85     BOOST_REQUIRE_MESSAGE(origStr.compare(decodedStr) == 0, "Base64 encoding/decoding returned a wrong value");
86 }
87
88
89 BOOST_AUTO_TEST_SUITE_END()