diff options
author | lloyd <[email protected]> | 2008-09-28 20:58:26 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2008-09-28 20:58:26 +0000 |
commit | 3948d38e2bef3f42169f96a17cc5daa6e03fb575 (patch) | |
tree | 1fe40baedc9e49a5d734b100790f79ac70839513 /misc/cms/tests | |
parent | f5ebea8d593d2f6d5b536ddb978f44d80d4e873f (diff) |
Move CMS code into main src tree, though it currently doesn't compile (needs further updating)
Diffstat (limited to 'misc/cms/tests')
-rw-r--r-- | misc/cms/tests/cms_dec.cpp | 111 | ||||
-rw-r--r-- | misc/cms/tests/cms_enc.cpp | 46 |
2 files changed, 0 insertions, 157 deletions
diff --git a/misc/cms/tests/cms_dec.cpp b/misc/cms/tests/cms_dec.cpp deleted file mode 100644 index 593cf2e09..000000000 --- a/misc/cms/tests/cms_dec.cpp +++ /dev/null @@ -1,111 +0,0 @@ -#include <botan/cms_dec.h> -using namespace Botan; - -#include <iostream> - -int main(int argc, char* argv[]) - { - if(argc != 2) - { - printf("Usage: %s <filename>\n", argv[0]); - return 1; - } - - LibraryInitializer init; - - try { - X509_Certificate mycert("mycert.pem"); - PKCS8_PrivateKey* mykey = PKCS8::load_key("mykey.pem", "cut"); - - X509_Certificate yourcert("yourcert.pem"); - X509_Certificate cacert("cacert.pem"); - X509_Certificate int_ca("int_ca.pem"); - - X509_Store store; - store.add_cert(mycert); - store.add_cert(yourcert); - store.add_cert(cacert, true); - store.add_cert(int_ca); - - DataSource_Stream message(argv[1]); - - User_Interface ui; - - CMS_Decoder decoder(message, store, ui, mykey); - - while(decoder.layer_type() != CMS_Decoder::DATA) - { - CMS_Decoder::Status status = decoder.layer_status(); - CMS_Decoder::Content_Type content = decoder.layer_type(); - - if(status == CMS_Decoder::FAILURE) - { - std::cout << "Failure reading CMS data" << std::endl; - break; - } - - if(content == CMS_Decoder::DIGESTED) - { - std::cout << "Digested data, hash = " << decoder.layer_info() - << std::endl; - std::cout << "Hash is " - << ((status == CMS_Decoder::GOOD) ? "good" : "bad") - << std::endl; - } - - if(content == CMS_Decoder::SIGNED) - { - // how to handle multiple signers? they can all exist within a - // single level... - - std::cout << "Signed by " << decoder.layer_info() << std::endl; - //std::cout << "Sign time: " << decoder.xxx() << std::endl; - std::cout << "Signature is "; - if(status == CMS_Decoder::GOOD) - std::cout << "valid"; - else if(status == CMS_Decoder::BAD) - std::cout << "bad"; - else if(status == CMS_Decoder::NO_KEY) - std::cout << "(cannot check, no known cert)"; - std::cout << std::endl; - } - if(content == CMS_Decoder::ENVELOPED || - content == CMS_Decoder::COMPRESSED || - content == CMS_Decoder::AUTHENTICATED) - { - if(content == CMS_Decoder::ENVELOPED) - std::cout << "Enveloped"; - if(content == CMS_Decoder::COMPRESSED) - std::cout << "Compressed"; - if(content == CMS_Decoder::AUTHENTICATED) - std::cout << "MACed"; - - std::cout << ", algo = " << decoder.layer_info() << std::endl; - - if(content == CMS_Decoder::AUTHENTICATED) - { - std::cout << "MAC status is "; - if(status == CMS_Decoder::GOOD) - std::cout << "valid"; - else if(status == CMS_Decoder::BAD) - std::cout << "bad"; - else if(status == CMS_Decoder::NO_KEY) - std::cout << "(cannot check, no key)"; - std::cout << std::endl; - } - } - decoder.next_layer(); - } - - if(decoder.layer_type() == CMS_Decoder::DATA) - std::cout << "Message is \"" << decoder.get_data() - << '"' << std::endl; - else - std::cout << "No data anywhere?" << std::endl; - } - catch(std::exception& e) - { - std::cerr << e.what() << std::endl; - } - return 0; - } diff --git a/misc/cms/tests/cms_enc.cpp b/misc/cms/tests/cms_enc.cpp deleted file mode 100644 index 0319925d8..000000000 --- a/misc/cms/tests/cms_enc.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include <botan/cms_enc.h> -using namespace Botan; - -#include <iostream> -#include <fstream> - -int main() - { - LibraryInitializer init; - - try { - PKCS8_PrivateKey* mykey = PKCS8::load_key("mykey.pem", "cut"); - - X509_Certificate mycert("mycert.pem"); - X509_Certificate mycert2("mycert2.pem"); - X509_Certificate yourcert("yourcert.pem"); - X509_Certificate cacert("cacert.pem"); - X509_Certificate int_ca("int_ca.pem"); - - X509_Store store; - store.add_cert(mycert); - store.add_cert(mycert2); - store.add_cert(yourcert); - store.add_cert(int_ca); - store.add_cert(cacert, true); - - const std::string msg = "prioncorp: we don't toy\n"; - - CMS_Encoder encoder(msg); - - encoder.compress("Zlib"); - encoder.digest(); - encoder.encrypt(mycert); - encoder.sign(store, *mykey); - - SecureVector<byte> raw = encoder.get_contents(); - std::ofstream out("out.der"); - - out.write((const char*)raw.ptr(), raw.size()); - } - catch(std::exception& e) - { - std::cerr << e.what() << std::endl; - } - return 0; - } |