aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/cert/x509/x509_ext.cpp20
-rw-r--r--src/lib/entropy/rdrand/rdrand.cpp2
-rw-r--r--src/lib/entropy/rdseed/rdseed.cpp2
-rw-r--r--src/lib/prov/tpm/tpm.cpp10
-rw-r--r--src/lib/prov/tpm/tpm.h30
-rw-r--r--src/tests/test_filters.cpp6
6 files changed, 40 insertions, 30 deletions
diff --git a/src/lib/cert/x509/x509_ext.cpp b/src/lib/cert/x509/x509_ext.cpp
index f8f9adb2b..f3a9a7f1c 100644
--- a/src/lib/cert/x509/x509_ext.cpp
+++ b/src/lib/cert/x509/x509_ext.cpp
@@ -379,7 +379,9 @@ void Alternative_Name::contents_to(Data_Store& subject_info,
* Alternative_Name Constructor
*/
Alternative_Name::Alternative_Name(const AlternativeName& alt_name,
- const std::string& oid_name_str) : m_alt_name(alt_name), m_oid_name_str(oid_name_str)
+ const std::string& oid_name_str) :
+ m_oid_name_str(oid_name_str),
+ m_alt_name(alt_name)
{}
/*
@@ -436,26 +438,28 @@ namespace {
class Policy_Information : public ASN1_Object
{
public:
- // public member variable:
- OID oid;
-
Policy_Information() {}
- explicit Policy_Information(const OID& oid) : oid(oid) {}
+ explicit Policy_Information(const OID& oid) : m_oid(oid) {}
+
+ const OID& oid() const { return m_oid; }
void encode_into(DER_Encoder& codec) const override
{
codec.start_cons(SEQUENCE)
- .encode(oid)
+ .encode(m_oid)
.end_cons();
}
void decode_from(BER_Decoder& codec) override
{
codec.start_cons(SEQUENCE)
- .decode(oid)
+ .decode(m_oid)
.discard_remaining()
.end_cons();
}
+
+ private:
+ OID m_oid;
};
}
@@ -488,7 +492,7 @@ void Certificate_Policies::decode_inner(const std::vector<byte>& in)
m_oids.clear();
for(size_t i = 0; i != policies.size(); ++i)
- m_oids.push_back(policies[i].oid);
+ m_oids.push_back(policies[i].oid());
}
/*
diff --git a/src/lib/entropy/rdrand/rdrand.cpp b/src/lib/entropy/rdrand/rdrand.cpp
index 13263bb63..89234b460 100644
--- a/src/lib/entropy/rdrand/rdrand.cpp
+++ b/src/lib/entropy/rdrand/rdrand.cpp
@@ -20,7 +20,7 @@ void Intel_Rdrand::poll(Entropy_Accumulator& accum) {
if(!CPUID::has_rdrand())
return;
- for(size_t i = 0; i != BOTAN_ENTROPY_INTEL_RNG_POLLS; ++i)
+ for(size_t p = 0; p != BOTAN_ENTROPY_INTEL_RNG_POLLS; ++p)
{
for(size_t i = 0; i != BOTAN_ENTROPY_RDRAND_RETRIES; ++i)
{
diff --git a/src/lib/entropy/rdseed/rdseed.cpp b/src/lib/entropy/rdseed/rdseed.cpp
index bcef9ad83..2ba2075cc 100644
--- a/src/lib/entropy/rdseed/rdseed.cpp
+++ b/src/lib/entropy/rdseed/rdseed.cpp
@@ -19,7 +19,7 @@ void Intel_Rdseed::poll(Entropy_Accumulator& accum) {
if(!CPUID::has_rdseed())
return;
- for(size_t i = 0; i != BOTAN_ENTROPY_INTEL_RNG_POLLS; ++i)
+ for(size_t p = 0; p != BOTAN_ENTROPY_INTEL_RNG_POLLS; ++p)
{
for(size_t i = 0; i != BOTAN_ENTROPY_RDSEED_RETRIES; ++i)
{
diff --git a/src/lib/prov/tpm/tpm.cpp b/src/lib/prov/tpm/tpm.cpp
index 9a29be395..c0b265b98 100644
--- a/src/lib/prov/tpm/tpm.cpp
+++ b/src/lib/prov/tpm/tpm.cpp
@@ -56,13 +56,14 @@ TSS_FLAG bit_flag(size_t bits)
}
}
+#if 0
bool is_srk_uuid(const UUID& uuid)
{
static const byte srk[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
const std::vector<uint8_t>& b = uuid.binary_value();
return (b.size() == 16 && same_mem(b.data(), srk, 16));
}
-
+#endif
#define TSPI_CHECK_SUCCESS(expr) do { \
TSS_RESULT res = expr; \
@@ -90,10 +91,11 @@ void set_policy_secret(TSS_HPOLICY policy, const char* secret)
{
if(secret)
{
+ BYTE* as_b = const_cast<BYTE*>(reinterpret_cast<const BYTE*>(secret));
TSPI_CHECK_SUCCESS(::Tspi_Policy_SetSecret(policy,
- TSS_SECRET_MODE_PLAIN,
- std::strlen(secret),
- (BYTE*)secret));
+ TSS_SECRET_MODE_PLAIN,
+ std::strlen(secret),
+ as_b));
}
else
{
diff --git a/src/lib/prov/tpm/tpm.h b/src/lib/prov/tpm/tpm.h
index 7df232be3..4a9dcd3c6 100644
--- a/src/lib/prov/tpm/tpm.h
+++ b/src/lib/prov/tpm/tpm.h
@@ -138,32 +138,36 @@ class BOTAN_DLL TPM_PrivateKey : public Private_Key
*/
std::string register_key(TPM_Storage_Type storage_type);
+ /**
+ * Returns a copy of the public key
+ */
+ std::unique_ptr<Public_Key> public_key() const;
+
+ std::vector<uint8_t> export_blob() const;
+
+ TPM_Context& ctx() const { return m_ctx; }
+
+ TSS_HKEY handle() const { return m_key; }
+
/*
* Returns the list of all keys (in URL format) registered with the system
*/
static std::vector<std::string> registered_keys(TPM_Context& ctx);
- size_t estimated_strength() const;
-
- size_t max_input_bits() const;
+ size_t estimated_strength() const override;
- AlgorithmIdentifier algorithm_identifier() const;
+ size_t max_input_bits() const override;
- std::vector<byte> x509_subject_public_key() const;
+ AlgorithmIdentifier algorithm_identifier() const override;
- secure_vector<byte> pkcs8_private_key() const; // not implemented
+ std::vector<byte> x509_subject_public_key() const override;
- std::unique_ptr<Public_Key> public_key() const;
+ secure_vector<byte> pkcs8_private_key() const override;
bool check_key(RandomNumberGenerator& rng, bool) const override;
- std::string algo_name() const { return "RSA"; } // ???
-
- std::vector<uint8_t> export_blob() const;
-
- TPM_Context& ctx() const { return m_ctx; }
+ std::string algo_name() const override { return "RSA"; } // ???
- TSS_HKEY handle() const { return m_key; }
private:
BigInt get_n() const;
BigInt get_e() const;
diff --git a/src/tests/test_filters.cpp b/src/tests/test_filters.cpp
index 35d578789..b6bbf05c3 100644
--- a/src/tests/test_filters.cpp
+++ b/src/tests/test_filters.cpp
@@ -32,11 +32,11 @@ class Filter_Tests : public Test
secqueue_result.test_eq("size of SecureQueue is correct", queue_a.size(), test_data.size());
secqueue_result.test_eq("0 bytes read so far from SecureQueue", queue_a.get_bytes_read(), 0);
- uint8_t byte;
- size_t bytes_read = queue_a.read_byte(byte);
+ uint8_t b;
+ size_t bytes_read = queue_a.read_byte(b);
secqueue_result.test_eq("1 byte read", bytes_read, 1);
- Botan::secure_vector<uint8_t> produced(byte);
+ Botan::secure_vector<uint8_t> produced(b);
Botan::secure_vector<uint8_t> expected(test_data.at(0));
secqueue_result.test_eq("byte read is correct", produced, expected);