aboutsummaryrefslogtreecommitdiffstats
path: root/src/pubkey/pk_keys.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pubkey/pk_keys.h')
-rw-r--r--src/pubkey/pk_keys.h149
1 files changed, 0 insertions, 149 deletions
diff --git a/src/pubkey/pk_keys.h b/src/pubkey/pk_keys.h
deleted file mode 100644
index a8585c154..000000000
--- a/src/pubkey/pk_keys.h
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
-* PK Key Types
-* (C) 1999-2007 Jack Lloyd
-*
-* Distributed under the terms of the Botan license
-*/
-
-#ifndef BOTAN_PK_KEYS_H__
-#define BOTAN_PK_KEYS_H__
-
-#include <botan/secmem.h>
-#include <botan/asn1_oid.h>
-#include <botan/alg_id.h>
-#include <botan/rng.h>
-
-namespace Botan {
-
-/**
-* Public Key Base Class.
-*/
-class BOTAN_DLL Public_Key
- {
- public:
- /**
- * Get the name of the underlying public key scheme.
- * @return name of the public key scheme
- */
- virtual std::string algo_name() const = 0;
-
- /**
- * Return the estimated strength of the underlying key against
- * the best currently known attack. Note that this ignores anything
- * but pure attacks against the key itself and do not take into
- * account padding schemes, usage mistakes, etc which might reduce
- * the strength. However it does suffice to provide an upper bound.
- *
- * @return estimated strength in bits
- */
- virtual size_t estimated_strength() const = 0;
-
- /**
- * Get the OID of the underlying public key scheme.
- * @return OID of the public key scheme
- */
- virtual OID get_oid() const;
-
- /**
- * Test the key values for consistency.
- * @param rng rng to use
- * @param strong whether to perform strong and lengthy version
- * of the test
- * @return true if the test is passed
- */
- virtual bool check_key(RandomNumberGenerator& rng,
- bool strong) const = 0;
-
- /**
- * Find out the number of message parts supported by this scheme.
- * @return number of message parts
- */
- virtual size_t message_parts() const { return 1; }
-
- /**
- * Find out the message part size supported by this scheme/key.
- * @return size of the message parts in bits
- */
- virtual size_t message_part_size() const { return 0; }
-
- /**
- * Get the maximum message size in bits supported by this public key.
- * @return maximum message size in bits
- */
- virtual size_t max_input_bits() const = 0;
-
- /**
- * @return X.509 AlgorithmIdentifier for this key
- */
- virtual AlgorithmIdentifier algorithm_identifier() const = 0;
-
- /**
- * @return X.509 subject key encoding for this key object
- */
- virtual std::vector<byte> x509_subject_public_key() const = 0;
-
- virtual ~Public_Key() {}
- protected:
- /**
- * Self-test after loading a key
- * @param rng a random number generator
- */
- virtual void load_check(RandomNumberGenerator& rng) const;
- };
-
-/**
-* Private Key Base Class
-*/
-class BOTAN_DLL Private_Key : public virtual Public_Key
- {
- public:
- /**
- * @return PKCS #8 private key encoding for this key object
- */
- virtual secure_vector<byte> pkcs8_private_key() const = 0;
-
- /**
- * @return PKCS #8 AlgorithmIdentifier for this key
- * Might be different from the X.509 identifier, but normally is not
- */
- virtual AlgorithmIdentifier pkcs8_algorithm_identifier() const
- { return algorithm_identifier(); }
-
- protected:
- /**
- * Self-test after loading a key
- * @param rng a random number generator
- */
- void load_check(RandomNumberGenerator& rng) const;
-
- /**
- * Self-test after generating a key
- * @param rng a random number generator
- */
- void gen_check(RandomNumberGenerator& rng) const;
- };
-
-/**
-* PK Secret Value Derivation Key
-*/
-class BOTAN_DLL PK_Key_Agreement_Key : public virtual Private_Key
- {
- public:
- /*
- * @return public component of this key
- */
- virtual std::vector<byte> public_value() const = 0;
-
- virtual ~PK_Key_Agreement_Key() {}
- };
-
-/*
-* Typedefs
-*/
-typedef PK_Key_Agreement_Key PK_KA_Key;
-typedef Public_Key X509_PublicKey;
-typedef Private_Key PKCS8_PrivateKey;
-
-}
-
-#endif