diff options
Diffstat (limited to 'src/cms')
-rw-r--r-- | src/cms/cms_algo.cpp | 34 | ||||
-rw-r--r-- | src/cms/cms_comp.cpp | 28 | ||||
-rw-r--r-- | src/cms/cms_dalg.cpp | 40 | ||||
-rw-r--r-- | src/cms/cms_dec.cpp | 58 | ||||
-rw-r--r-- | src/cms/cms_dec.h | 16 | ||||
-rw-r--r-- | src/cms/cms_ealg.cpp | 100 | ||||
-rw-r--r-- | src/cms/cms_enc.cpp | 46 | ||||
-rw-r--r-- | src/cms/cms_enc.h | 16 |
8 files changed, 177 insertions, 161 deletions
diff --git a/src/cms/cms_algo.cpp b/src/cms/cms_algo.cpp index 8db27c65f..748aa73da 100644 --- a/src/cms/cms_algo.cpp +++ b/src/cms/cms_algo.cpp @@ -1,7 +1,9 @@ -/************************************************* -* CMS Algorithm Specific Code Source File * -* (C) 1999-2007 Jack Lloyd * -*************************************************/ +/* +* CMS Algorithm Specific Code +* (C) 1999-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ #include <botan/cms_enc.h> #include <botan/der_enc.h> @@ -18,9 +20,9 @@ namespace Botan { namespace { -/************************************************* -* Wrap a key as specified in RFC 3217 * -*************************************************/ +/* +* Wrap a key as specified in RFC 3217 +*/ SecureVector<byte> do_rfc3217_wrap(RandomNumberGenerator& rng, const std::string& cipher_name, const SymmetricKey& kek, @@ -70,9 +72,9 @@ SecureVector<byte> do_rfc3217_wrap(RandomNumberGenerator& rng, } -/************************************************* -* Wrap a CEK with a KEK * -*************************************************/ +/* +* Wrap a CEK with a KEK +*/ SecureVector<byte> CMS_Encoder::wrap_key(RandomNumberGenerator& rng, const std::string& cipher, const SymmetricKey& cek, @@ -105,9 +107,9 @@ SecureVector<byte> CMS_Encoder::wrap_key(RandomNumberGenerator& rng, throw Invalid_Argument("CMS_Encoder::wrap: Unknown cipher " + cipher); } -/************************************************* -* Encode the parameters for an encryption algo * -*************************************************/ +/* +* Encode the parameters for an encryption algo +*/ SecureVector<byte> CMS_Encoder::encode_params(const std::string& cipher, const SymmetricKey& key, const InitializationVector& iv) @@ -138,9 +140,9 @@ SecureVector<byte> CMS_Encoder::encode_params(const std::string& cipher, return encoder.get_contents(); } -/************************************************* -* Generate a CEK or KEK for the cipher * -*************************************************/ +/* +* Generate a CEK or KEK for the cipher +*/ SymmetricKey CMS_Encoder::setup_key(RandomNumberGenerator& rng, const std::string& cipher) { diff --git a/src/cms/cms_comp.cpp b/src/cms/cms_comp.cpp index a0e777321..b11cf909b 100644 --- a/src/cms/cms_comp.cpp +++ b/src/cms/cms_comp.cpp @@ -1,7 +1,9 @@ -/************************************************* -* CMS Compression Source File * -* (C) 1999-2007 Jack Lloyd * -*************************************************/ +/* +* CMS Compression +* (C) 1999-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ #include <botan/cms_enc.h> #include <botan/cms_dec.h> @@ -16,9 +18,9 @@ namespace Botan { -/************************************************* -* Compress a message * -*************************************************/ +/* +* Compress a message +*/ void CMS_Encoder::compress(const std::string& algo) { if(!CMS_Encoder::can_compress_with(algo)) @@ -48,9 +50,9 @@ void CMS_Encoder::compress(const std::string& algo) add_layer("CMS.CompressedData", encoder); } -/************************************************* -* See if the named compression algo is available * -*************************************************/ +/* +* See if the named compression algo is available +*/ bool CMS_Encoder::can_compress_with(const std::string& algo) { if(algo == "") @@ -64,9 +66,9 @@ bool CMS_Encoder::can_compress_with(const std::string& algo) return false; } -/************************************************* -* Decompress a message * -*************************************************/ +/* +* Decompress a message +*/ void CMS_Decoder::decompress(BER_Decoder& decoder) { u32bit version; diff --git a/src/cms/cms_dalg.cpp b/src/cms/cms_dalg.cpp index 501ea7873..7ed793f4f 100644 --- a/src/cms/cms_dalg.cpp +++ b/src/cms/cms_dalg.cpp @@ -1,7 +1,9 @@ -/************************************************* -* CMS Decoding Operations Source File * -* (C) 1999-2007 Jack Lloyd * -*************************************************/ +/* +* CMS Decoding Operations +* (C) 1999-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ #include <botan/cms_dec.h> #include <botan/x509find.h> @@ -17,9 +19,9 @@ namespace Botan { namespace { -/************************************************* -* Compute the hash of some content * -*************************************************/ +/* +* Compute the hash of some content +*/ SecureVector<byte> hash_of(const SecureVector<byte>& content, const AlgorithmIdentifier& hash_algo, std::string& hash_name) @@ -32,9 +34,9 @@ SecureVector<byte> hash_of(const SecureVector<byte>& content, return hash_fn->process(content); } -/************************************************* -* Find a cert based on SignerIdentifier * -*************************************************/ +/* +* Find a cert based on SignerIdentifier +*/ std::vector<X509_Certificate> get_cert(BER_Decoder& signer_info, X509_Store& store) { @@ -64,9 +66,9 @@ std::vector<X509_Certificate> get_cert(BER_Decoder& signer_info, return found; } -/************************************************* -* Read OriginatorInfo * -*************************************************/ +/* +* Read OriginatorInfo +*/ void read_orig_info(BER_Decoder& info, X509_Store& store) { BER_Object next = info.get_next_object(); @@ -99,9 +101,9 @@ void read_orig_info(BER_Decoder& info, X509_Store& store) info.push_back(next); } -/************************************************* -* Decode any Attributes, and check type * -*************************************************/ +/* +* Decode any Attributes, and check type +*/ SecureVector<byte> decode_attributes(BER_Decoder& ber, const OID& type, bool& bad_attributes) { @@ -150,9 +152,9 @@ SecureVector<byte> decode_attributes(BER_Decoder& ber, const OID& type, } -/************************************************* -* Decode this layer of CMS encoding * -*************************************************/ +/* +* Decode this layer of CMS encoding +*/ void CMS_Decoder::decode_layer() { try { diff --git a/src/cms/cms_dec.cpp b/src/cms/cms_dec.cpp index 55c1c8cd5..222399f6c 100644 --- a/src/cms/cms_dec.cpp +++ b/src/cms/cms_dec.cpp @@ -1,7 +1,9 @@ -/************************************************* -* CMS Decoding Source File * -* (C) 1999-2007 Jack Lloyd * -*************************************************/ +/* +* CMS Decoding +* (C) 1999-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ #include <botan/cms_dec.h> #include <botan/ber_dec.h> @@ -11,9 +13,9 @@ namespace Botan { -/************************************************* -* CMS_Decoder Constructor * -*************************************************/ +/* +* CMS_Decoder Constructor +*/ CMS_Decoder::CMS_Decoder(DataSource& in, const X509_Store& x509store, User_Interface& ui_ref, PKCS8_PrivateKey* key) : ui(ui_ref), store(x509store) @@ -31,9 +33,9 @@ CMS_Decoder::CMS_Decoder(DataSource& in, const X509_Store& x509store, } } -/************************************************* -* Read the outermost ContentInfo * -*************************************************/ +/* +* Read the outermost ContentInfo +*/ void CMS_Decoder::initial_read(DataSource&) { // FIXME... @@ -52,9 +54,9 @@ void CMS_Decoder::initial_read(DataSource&) decode_layer(); } -/************************************************* -* Add another private key to use * -*************************************************/ +/* +* Add another private key to use +*/ void CMS_Decoder::add_key(PKCS8_PrivateKey* key) { if(!key) @@ -69,17 +71,17 @@ void CMS_Decoder::add_key(PKCS8_PrivateKey* key) keys.push_back(key); } -/************************************************* -* Return the status information * -*************************************************/ +/* +* Return the status information +*/ CMS_Decoder::Status CMS_Decoder::layer_status() const { return status; } -/************************************************* -* Return the final data content * -*************************************************/ +/* +* Return the final data content +*/ std::string CMS_Decoder::get_data() const { if(layer_type() != DATA) @@ -87,9 +89,9 @@ std::string CMS_Decoder::get_data() const return std::string((const char*)data.begin(), data.size()); } -/************************************************* -* Return the content type of this layer * -*************************************************/ +/* +* Return the content type of this layer +*/ CMS_Decoder::Content_Type CMS_Decoder::layer_type() const { if(type == OIDS::lookup("CMS.DataContent")) return DATA; @@ -101,17 +103,17 @@ CMS_Decoder::Content_Type CMS_Decoder::layer_type() const return UNKNOWN; } -/************************************************* -* Return some information about this layer * -*************************************************/ +/* +* Return some information about this layer +*/ std::string CMS_Decoder::layer_info() const { return info; } -/************************************************* -* Return some information about this layer * -*************************************************/ +/* +* Return some information about this layer +*/ void CMS_Decoder::read_econtent(BER_Decoder& decoder) { BER_Decoder econtent_info = decoder.start_cons(SEQUENCE); diff --git a/src/cms/cms_dec.h b/src/cms/cms_dec.h index a338e4c0f..75b61c9cb 100644 --- a/src/cms/cms_dec.h +++ b/src/cms/cms_dec.h @@ -1,7 +1,9 @@ -/************************************************* -* CMS Decoding Header File * -* (C) 1999-2007 Jack Lloyd * -*************************************************/ +/* +* CMS Decoding +* (C) 1999-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ #ifndef BOTAN_CMS_DECODER_H__ #define BOTAN_CMS_DECODER_H__ @@ -14,9 +16,9 @@ namespace Botan { -/************************************************* -* CMS Decoding Operation * -*************************************************/ +/* +* CMS Decoding Operation +*/ class BOTAN_DLL CMS_Decoder { public: diff --git a/src/cms/cms_ealg.cpp b/src/cms/cms_ealg.cpp index 85b933197..2970e8e79 100644 --- a/src/cms/cms_ealg.cpp +++ b/src/cms/cms_ealg.cpp @@ -1,7 +1,9 @@ -/************************************************* -* CMS Encoding Operations Source File * -* (C) 1999-2007 Jack Lloyd * -*************************************************/ +/* +* CMS Encoding Operations +* (C) 1999-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ #include <botan/cms_enc.h> #include <botan/der_enc.h> @@ -19,9 +21,9 @@ namespace Botan { namespace { -/************************************************* -* Choose an algorithm * -*************************************************/ +/* +* Choose an algorithm +*/ std::string choose_algo(const std::string& user_algo, const std::string& default_algo) { @@ -30,9 +32,9 @@ std::string choose_algo(const std::string& user_algo, return global_state().deref_alias(user_algo); } -/************************************************* -* Encode a SignerIdentifier/RecipientIdentifier * -*************************************************/ +/* +* Encode a SignerIdentifier/RecipientIdentifier +*/ DER_Encoder& encode_si(DER_Encoder& der, const X509_Certificate& cert, bool use_skid_encoding = false) { @@ -49,9 +51,9 @@ DER_Encoder& encode_si(DER_Encoder& der, const X509_Certificate& cert, return der; } -/************************************************* -* Compute the hash of some content * -*************************************************/ +/* +* Compute the hash of some content +*/ SecureVector<byte> hash_of(const SecureVector<byte>& content, const std::string& hash_name) { @@ -60,9 +62,9 @@ SecureVector<byte> hash_of(const SecureVector<byte>& content, return hash_fn->process(content); } -/************************************************* -* Encode Attributes containing info on content * -*************************************************/ +/* +* Encode Attributes containing info on content +*/ SecureVector<byte> encode_attr(const SecureVector<byte>& data, const std::string& type, const std::string& hash) @@ -86,9 +88,9 @@ SecureVector<byte> encode_attr(const SecureVector<byte>& data, } -/************************************************* -* Encrypt a message * -*************************************************/ +/* +* Encrypt a message +*/ void CMS_Encoder::encrypt(RandomNumberGenerator& rng, const X509_Certificate& to, const std::string user_cipher) @@ -123,9 +125,9 @@ void CMS_Encoder::encrypt(RandomNumberGenerator& rng, throw Invalid_Argument("Unknown CMS PK encryption algorithm " + algo); } -/************************************************* -* Encrypt a message with a key transport algo * -*************************************************/ +/* +* Encrypt a message with a key transport algo +*/ void CMS_Encoder::encrypt_ktri(RandomNumberGenerator& rng, const X509_Certificate& to, PK_Encrypting_Key* pub_key, @@ -158,9 +160,9 @@ void CMS_Encoder::encrypt_ktri(RandomNumberGenerator& rng, add_layer("CMS.EnvelopedData", encoder); } -/************************************************* -* Encrypt a message with a key agreement algo * -*************************************************/ +/* +* Encrypt a message with a key agreement algo +*/ void CMS_Encoder::encrypt_kari(RandomNumberGenerator&, const X509_Certificate&, X509_PublicKey*, @@ -189,9 +191,9 @@ void CMS_Encoder::encrypt_kari(RandomNumberGenerator&, #endif } -/************************************************* -* Encrypt a message with a shared key * -*************************************************/ +/* +* Encrypt a message with a shared key +*/ void CMS_Encoder::encrypt(RandomNumberGenerator& rng, const SymmetricKey& kek, const std::string& user_cipher) @@ -222,9 +224,9 @@ void CMS_Encoder::encrypt(RandomNumberGenerator& rng, add_layer("CMS.EnvelopedData", encoder); } -/************************************************* -* Encrypt a message with a passphrase * -*************************************************/ +/* +* Encrypt a message with a passphrase +*/ void CMS_Encoder::encrypt(RandomNumberGenerator&, const std::string&, const std::string& user_cipher) @@ -244,9 +246,9 @@ void CMS_Encoder::encrypt(RandomNumberGenerator&, */ } -/************************************************* -* Encrypt the content with the chosen key/cipher * -*************************************************/ +/* +* Encrypt the content with the chosen key/cipher +*/ SecureVector<byte> CMS_Encoder::do_encrypt(RandomNumberGenerator& rng, const SymmetricKey& key, const std::string& cipher_name) @@ -281,9 +283,9 @@ SecureVector<byte> CMS_Encoder::do_encrypt(RandomNumberGenerator& rng, return encoder.get_contents(); } -/************************************************* -* Sign a message * -*************************************************/ +/* +* Sign a message +*/ void CMS_Encoder::sign(const X509_Certificate& cert, const PKCS8_PrivateKey& key, RandomNumberGenerator& rng, @@ -343,9 +345,9 @@ void CMS_Encoder::sign(const X509_Certificate& cert, add_layer("CMS.SignedData", encoder); } -/************************************************* -* Digest a message * -*************************************************/ +/* +* Digest a message +*/ void CMS_Encoder::digest(const std::string& user_hash) { const std::string hash = choose_algo(user_hash, "SHA-1"); @@ -366,9 +368,9 @@ void CMS_Encoder::digest(const std::string& user_hash) add_layer("CMS.DigestedData", encoder); } -/************************************************* -* MAC a message with an encrypted key * -*************************************************/ +/* +* MAC a message with an encrypted key +*/ void CMS_Encoder::authenticate(const X509_Certificate&, const std::string& mac_algo) { @@ -376,9 +378,9 @@ void CMS_Encoder::authenticate(const X509_Certificate&, throw Exception("FIXME: unimplemented"); } -/************************************************* -* MAC a message with a shared key * -*************************************************/ +/* +* MAC a message with a shared key +*/ void CMS_Encoder::authenticate(const SymmetricKey&, const std::string& mac_algo) { @@ -386,9 +388,9 @@ void CMS_Encoder::authenticate(const SymmetricKey&, throw Exception("FIXME: unimplemented"); } -/************************************************* -* MAC a message with a passphrase * -*************************************************/ +/* +* MAC a message with a passphrase +*/ void CMS_Encoder::authenticate(const std::string&, const std::string& mac_algo) { diff --git a/src/cms/cms_enc.cpp b/src/cms/cms_enc.cpp index 601fbc9b6..2413676d7 100644 --- a/src/cms/cms_enc.cpp +++ b/src/cms/cms_enc.cpp @@ -1,7 +1,9 @@ -/************************************************* -* CMS Encoding Base Source File * -* (C) 1999-2007 Jack Lloyd * -*************************************************/ +/* +* CMS Encoding Base +* (C) 1999-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ #include <botan/cms_enc.h> #include <botan/der_enc.h> @@ -10,9 +12,9 @@ namespace Botan { -/************************************************* -* Setup the intitial layer of CMS data * -*************************************************/ +/* +* Setup the intitial layer of CMS data +*/ void CMS_Encoder::set_data(const byte buf[], u32bit length) { if(data.has_items()) @@ -22,17 +24,17 @@ void CMS_Encoder::set_data(const byte buf[], u32bit length) type = "CMS.DataContent"; } -/************************************************* -* Setup the intitial layer of CMS data * -*************************************************/ +/* +* Setup the intitial layer of CMS data +*/ void CMS_Encoder::set_data(const std::string& str) { set_data((const byte*)str.c_str(), str.length()); } -/************************************************* -* Finalize and return the CMS encoded data * -*************************************************/ +/* +* Finalize and return the CMS encoded data +*/ SecureVector<byte> CMS_Encoder::get_contents() { DER_Encoder encoder; @@ -49,26 +51,26 @@ SecureVector<byte> CMS_Encoder::get_contents() return encoder.get_contents(); } -/************************************************* -* Add a new layer of encapsulation * -*************************************************/ +/* +* Add a new layer of encapsulation +*/ void CMS_Encoder::add_layer(const std::string& oid, DER_Encoder& new_layer) { data = new_layer.get_contents(); type = oid; } -/************************************************* -* Return the PEM-encoded data * -*************************************************/ +/* +* Return the PEM-encoded data +*/ std::string CMS_Encoder::PEM_contents() { return PEM_Code::encode(get_contents(), "PKCS7"); } -/************************************************* -* Make an EncapsulatedContentInfo * -*************************************************/ +/* +* Make an EncapsulatedContentInfo +*/ SecureVector<byte> CMS_Encoder::make_econtent(const SecureVector<byte>& data, const std::string& type) { diff --git a/src/cms/cms_enc.h b/src/cms/cms_enc.h index f62c56ffa..6fdd2b726 100644 --- a/src/cms/cms_enc.h +++ b/src/cms/cms_enc.h @@ -1,7 +1,9 @@ -/************************************************* -* CMS Encoding Header File * -* (C) 1999-2007 Jack Lloyd * -*************************************************/ +/* +* CMS Encoding +* (C) 1999-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ #ifndef BOTAN_CMS_ENCODER_H__ #define BOTAN_CMS_ENCODER_H__ @@ -13,9 +15,9 @@ namespace Botan { -/************************************************* -* CMS Encoding Operation * -*************************************************/ +/* +* CMS Encoding Operation +*/ class BOTAN_DLL CMS_Encoder { public: |