aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/pubkey/pkcs8.cpp4
-rw-r--r--src/lib/pubkey/x509_key.cpp4
-rw-r--r--src/lib/utils/exceptn.cpp19
-rw-r--r--src/lib/utils/exceptn.h8
-rw-r--r--src/lib/x509/x509_ext.cpp2
-rw-r--r--src/lib/x509/x509_obj.cpp2
-rw-r--r--src/lib/x509/x509cert.cpp2
-rw-r--r--src/tests/data/tls/alert.vec6
-rw-r--r--src/tests/data/tls/cert_status.vec8
-rw-r--r--src/tests/data/tls/cert_verify.vec8
-rw-r--r--src/tests/data/tls/client_hello.vec18
-rw-r--r--src/tests/data/tls/hello_request.vec2
-rw-r--r--src/tests/data/tls/hello_verify.vec8
-rw-r--r--src/tests/data/tls/new_session_ticket.vec4
-rw-r--r--src/tests/data/tls/server_hello.vec8
-rw-r--r--src/tests/data/x509/bsi/expected.txt10
-rw-r--r--src/tests/test_bigint.cpp6
-rw-r--r--src/tests/test_dh.cpp4
-rw-r--r--src/tests/test_dl_group.cpp6
-rw-r--r--src/tests/test_filters.cpp8
-rw-r--r--src/tests/test_hash.cpp2
-rw-r--r--src/tests/test_passhash.cpp6
-rw-r--r--src/tests/test_pem.cpp6
-rw-r--r--src/tests/test_psk_db.cpp4
-rw-r--r--src/tests/unit_ecdsa.cpp2
-rw-r--r--src/tests/unit_x509.cpp4
26 files changed, 89 insertions, 72 deletions
diff --git a/src/lib/pubkey/pkcs8.cpp b/src/lib/pubkey/pkcs8.cpp
index 8d3eba6dc..c91e436c7 100644
--- a/src/lib/pubkey/pkcs8.cpp
+++ b/src/lib/pubkey/pkcs8.cpp
@@ -97,7 +97,7 @@ secure_vector<uint8_t> PKCS8_decode(
}
catch(Decoding_Error& e)
{
- throw Decoding_Error("PKCS #8 private key decoding failed: " + std::string(e.what()));
+ throw Decoding_Error("PKCS #8 private key decoding", e);
}
try
@@ -126,7 +126,7 @@ secure_vector<uint8_t> PKCS8_decode(
}
catch(std::exception& e)
{
- throw Decoding_Error("PKCS #8 private key decoding failed: " + std::string(e.what()));
+ throw Decoding_Error("PKCS #8 private key decoding", e);
}
return key;
}
diff --git a/src/lib/pubkey/x509_key.cpp b/src/lib/pubkey/x509_key.cpp
index 6e49d953a..fff75ec44 100644
--- a/src/lib/pubkey/x509_key.cpp
+++ b/src/lib/pubkey/x509_key.cpp
@@ -62,13 +62,13 @@ Public_Key* load_key(DataSource& source)
}
if(key_bits.empty())
- throw Decoding_Error("X.509 public key decoding failed");
+ throw Decoding_Error("X.509 public key decoding");
return load_public_key(alg_id, key_bits).release();
}
catch(Decoding_Error& e)
{
- throw Decoding_Error("X.509 public key decoding failed: " + std::string(e.what()));
+ throw Decoding_Error("X.509 public key decoding", e);
}
}
diff --git a/src/lib/utils/exceptn.cpp b/src/lib/utils/exceptn.cpp
index a72e45ba4..cc6eb9f85 100644
--- a/src/lib/utils/exceptn.cpp
+++ b/src/lib/utils/exceptn.cpp
@@ -11,18 +11,25 @@ namespace Botan {
Exception::Exception(const std::string& msg) : m_msg(msg)
{}
+Exception::Exception(const std::string& msg, const std::exception& e) :
+ m_msg(msg + " failed with " + std::string(e.what()))
+ {}
+
Exception::Exception(const char* prefix, const std::string& msg) :
m_msg(std::string(prefix) + " " + msg)
{}
Invalid_Argument::Invalid_Argument(const std::string& msg) :
- Exception("Invalid argument", msg)
+ Exception(msg)
{}
Invalid_Argument::Invalid_Argument(const std::string& msg, const std::string& where) :
- Exception("Invalid argument", msg + " in " + where)
+ Exception(msg + " in " + where)
{}
+Invalid_Argument::Invalid_Argument(const std::string& msg, const std::exception& e) :
+ Exception(msg, e) {}
+
Lookup_Error::Lookup_Error(const std::string& type,
const std::string& algo,
const std::string& provider) :
@@ -76,11 +83,15 @@ Encoding_Error::Encoding_Error(const std::string& name) :
{}
Decoding_Error::Decoding_Error(const std::string& name) :
- Invalid_Argument("Decoding error: " + name)
+ Invalid_Argument(name)
+ {}
+
+Decoding_Error::Decoding_Error(const std::string& msg, const std::exception& e) :
+ Invalid_Argument(msg, e)
{}
Decoding_Error::Decoding_Error(const std::string& name, const char* exception_message) :
- Invalid_Argument("Decoding error: " + name + " failed with exception " + exception_message) {}
+ Invalid_Argument(name + " failed with exception " + exception_message) {}
Integrity_Failure::Integrity_Failure(const std::string& msg) :
Exception("Integrity failure: " + msg)
diff --git a/src/lib/utils/exceptn.h b/src/lib/utils/exceptn.h
index f2896aa83..efa52580c 100644
--- a/src/lib/utils/exceptn.h
+++ b/src/lib/utils/exceptn.h
@@ -23,6 +23,8 @@ class BOTAN_PUBLIC_API(2,0) Exception : public std::exception
Exception(const char* prefix, const std::string& msg);
explicit Exception(const std::string& msg);
const char* what() const BOTAN_NOEXCEPT override { return m_msg.c_str(); }
+ protected:
+ Exception(const std::string& msg, const std::exception& e);
private:
std::string m_msg;
};
@@ -36,7 +38,9 @@ class BOTAN_PUBLIC_API(2,0) Invalid_Argument : public Exception
explicit Invalid_Argument(const std::string& msg);
explicit Invalid_Argument(const std::string& msg, const std::string& where);
-};
+
+ Invalid_Argument(const std::string& msg, const std::exception& e);
+ };
/**
* Unsupported_Argument Exception
@@ -178,6 +182,8 @@ class BOTAN_PUBLIC_API(2,0) Decoding_Error : public Invalid_Argument
explicit Decoding_Error(const std::string& name);
Decoding_Error(const std::string& name, const char* exception_message);
+
+ Decoding_Error(const std::string& msg, const std::exception& e);
};
/**
diff --git a/src/lib/x509/x509_ext.cpp b/src/lib/x509/x509_ext.cpp
index 122be2885..5a5ffa177 100644
--- a/src/lib/x509/x509_ext.cpp
+++ b/src/lib/x509/x509_ext.cpp
@@ -101,7 +101,7 @@ Extensions::create_extn_obj(const OID& oid,
}
catch(Decoding_Error& e)
{
- throw Decoding_Error("Decoding X.509 extension " + oid.as_string() + " failed", e.what());
+ throw Decoding_Error("Decoding X.509 extension " + oid.as_string(), e);
}
return extn;
}
diff --git a/src/lib/x509/x509_obj.cpp b/src/lib/x509/x509_obj.cpp
index 060453072..49d7fcc60 100644
--- a/src/lib/x509/x509_obj.cpp
+++ b/src/lib/x509/x509_obj.cpp
@@ -85,7 +85,7 @@ void X509_Object::load_data(DataSource& in)
}
catch(Decoding_Error& e)
{
- throw Decoding_Error(PEM_label() + " decoding failed: " + e.what());
+ throw Decoding_Error(PEM_label() + " decoding", e);
}
}
diff --git a/src/lib/x509/x509cert.cpp b/src/lib/x509/x509cert.cpp
index ddfe5d5b2..9ed521f16 100644
--- a/src/lib/x509/x509cert.cpp
+++ b/src/lib/x509/x509cert.cpp
@@ -650,7 +650,7 @@ std::unique_ptr<Public_Key> X509_Certificate::load_subject_public_key() const
}
catch(std::exception& e)
{
- throw Decoding_Error("X509_Certificate::load_subject_public_key", e.what());
+ throw Decoding_Error("X509_Certificate::load_subject_public_key", e);
}
}
diff --git a/src/tests/data/tls/alert.vec b/src/tests/data/tls/alert.vec
index 19ec8839b..cd5058212 100644
--- a/src/tests/data/tls/alert.vec
+++ b/src/tests/data/tls/alert.vec
@@ -14,11 +14,11 @@ Exception =
Buffer = 0030
Protocol = 0303
-Exception = Invalid argument Decoding error: Alert: Bad code for alert level
+Exception = Alert: Bad code for alert level
Buffer = 02
-Exception = Invalid argument Decoding error: Alert: Bad size 1 for alert message
+Exception = Alert: Bad size 1 for alert message
Buffer = 020101
-Exception = Invalid argument Decoding error: Alert: Bad size 3 for alert message
+Exception = Alert: Bad size 3 for alert message
diff --git a/src/tests/data/tls/cert_status.vec b/src/tests/data/tls/cert_status.vec
index d93f800ab..c01c10951 100644
--- a/src/tests/data/tls/cert_status.vec
+++ b/src/tests/data/tls/cert_status.vec
@@ -1,16 +1,16 @@
[cert_status]
Buffer = 00
-Exception = Invalid argument Decoding error: Invalid Certificate_Status message: too small
+Exception = Invalid Certificate_Status message: too small
Buffer = 01
-Exception = Invalid argument Decoding error: Invalid Certificate_Status message: too small
+Exception = Invalid Certificate_Status message: too small
Buffer = 01000000
-Exception = Invalid argument Decoding error: Invalid Certificate_Status message: too small
+Exception = Invalid Certificate_Status message: too small
Buffer = 010FFFF000
-Exception = Invalid argument Decoding error: Invalid Certificate_Status: invalid length field
+Exception = Invalid Certificate_Status: invalid length field
Buffer = 0100020F3082020B0A0100A08202043082020006092B0601050507300101048201F1308201ED3081D6A14C304A310B300906035504061302555331163014060355040A130D4C6574277320456E6372797074312330210603550403131A4C6574277320456E637279707420417574686F72697479205833180F32303136313131383132313630305A30753073304B300906052B0E03021A050004147EE66AE7729AB3FCF8A220646C16A12D6071085D0414A84A6A63047DDDBAE6D139B7A64565EFF3A8ECA1021203E89ED07A424B72A35FAD167F48A4F25AD28000180F32303136313131383132303030305AA011180F32303136313132353132303030305A300D06092A864886F70D01010B050003820101007CB8774D813E6E0FBFA816BE53F5F3131EF9DED7B0928BBE50AC628C90C811DBBFE0E43A98BF3FB608CC230EFE31FE98BE99016D98DE73028F6C1AE8C34B0F20DD7E688604322538E721EF9D0D353EADE8818BFB63DA8078A7E2BF9E637282DE6C79B2289F0C13807A9D3B7532970FF0AA77CE06A06299B02274ED6C62DFC672485405C1859FEBDFC3B5B2D81A0A45382FFABBF75D6EAC1AD1AF12701DCDF87F0EFEB41933AED08EF78B35F48362A792E55027F00B3EE4571F30212A3EB7BE4B934F67685A4AF2BBF428280BC20D1A42E75DBE42C459541B4E1EE5BB99E0CCA166C2E9C2E6054F147F2FDF33F104E9076061640EDDB12B62BEAA82E0D60ED128
Name = Let's Encrypt Authority X3
diff --git a/src/tests/data/tls/cert_verify.vec b/src/tests/data/tls/cert_verify.vec
index d36156cc2..335cb8353 100644
--- a/src/tests/data/tls/cert_verify.vec
+++ b/src/tests/data/tls/cert_verify.vec
@@ -24,17 +24,17 @@ Exception =
#Incomplete algorithm
Buffer = 06
Protocol = 0303
-Exception = Invalid argument Decoding error: Invalid CertificateVerify: Expected 2 bytes remaining, only 1 left
+Exception = Invalid CertificateVerify: Expected 2 bytes remaining, only 1 left
#Incomplete certificate
Buffer = 0601000500
Protocol = 0303
-Exception = Invalid argument Decoding error: Invalid CertificateVerify: Expected 5 bytes remaining, only 1 left
+Exception = Invalid CertificateVerify: Expected 5 bytes remaining, only 1 left
Buffer = 000200
Protocol = 0302
-Exception = Invalid argument Decoding error: Invalid CertificateVerify: Expected 2 bytes remaining, only 1 left
+Exception = Invalid CertificateVerify: Expected 2 bytes remaining, only 1 left
Buffer = 000200
Protocol = 0301
-Exception = Invalid argument Decoding error: Invalid CertificateVerify: Expected 2 bytes remaining, only 1 left
+Exception = Invalid CertificateVerify: Expected 2 bytes remaining, only 1 left
diff --git a/src/tests/data/tls/client_hello.vec b/src/tests/data/tls/client_hello.vec
index afd8e83c1..40d883ede 100644
--- a/src/tests/data/tls/client_hello.vec
+++ b/src/tests/data/tls/client_hello.vec
@@ -25,44 +25,44 @@ Exception =
# empty
Buffer =
Protocol = 0303
-Exception = Invalid argument Decoding error: Client_Hello: Packet corrupted
+Exception = Client_Hello: Packet corrupted
Buffer = 00
Protocol = 0303
-Exception = Invalid argument Decoding error: Client_Hello: Packet corrupted
+Exception = Client_Hello: Packet corrupted
# Invalid cipher suite length (0xf0e2 instead of 0x00e2)
Buffer = 0303e00da23523058b5dc9c445d97b2bb6315b019e97838ac4f16c23b2cb031b6a4900f0e2c0afc0adc030c02cc028c024c014c00ac0a3c09f00a500a300a1009f006b006a006900680039003800370036cca9cca8c077c073ccaa00c400c300c200c10088008700860085c032c02ec02ac026c00fc005c079c075c0a1c09d009d003d003500c00084c0aec0acc02fc02bc027c023c013c009c0a2c09e00a400a200a0009e00670040003f003e0033003200310030c076c07200be00bd00bc00bb009a0099009800970045004400430042c031c02dc029c025c00ec004c078c074c0a0c09c009c003c002f00ba009600410007c012c008001600130010000dc00dc003000a00ff01000000
Protocol = 0303
AdditionalData =
-Exception = Invalid argument Decoding error: Invalid ClientHello: Expected 61666 bytes remaining, only 230 left
+Exception = Invalid ClientHello: Expected 61666 bytes remaining, only 230 left
#invalid extensions length
Buffer = 030320f3dc33f90be6509e6133a1819f2b80fe6ccc6268d9195ca4ead7504ffe7e2a0000aac030c02cc028c024c014c00a00a500a300a1009f006b006a0069006800390038003700360088008700860085c032c02ec02ac026c00fc005009d003d00350084c02fc02bc027c023c013c00900a400a200a0009e00670040003f003e0033003200310030009a0099009800970045004400430042c031c02dc029c025c00ec004009c003c002f00960041c011c007c00cc00200050004c012c008001600130010000dc00dc003000a00ff01000001
Protocol = 0303
-Exception = Invalid argument Decoding error: Bad extension size
+Exception = Bad extension size
#invalid extensions length 2
Buffer = 030320f3dc33f90be6509e6133a1819f2b80fe6ccc6268d9195ca4ead7504ffe7e2a0000aac030c02cc028c024c014c00a00a500a300a1009f006b006a0069006800390038003700360088008700860085c032c02ec02ac026c00fc005009d003d00350084c02fc02bc027c023c013c00900a400a200a0009e00670040003f003e0033003200310030009a0099009800970045004400430042c031c02dc029c025c00ec004009c003c002f00960041c011c007c00cc00200050004c012c008001600130010000dc00dc003000a00ff010000010000
Protocol = 0303
-Exception = Invalid argument Decoding error: Bad extension size
+Exception = Bad extension size
#invalid length of the supported groups extension (0xf01c instead of 0x001c)
Buffer = 0303871e18983024eaee1be8ae6607d5ecad941d33fd7fc1d8554a9e1fbfda8d30880000aac030c02cc028c024c014c00a00a500a300a1009f006b006a0069006800390038003700360088008700860085c032c02ec02ac026c00fc005009d003d00350084c02fc02bc027c023c013c00900a400a200a0009e00670040003f003e0033003200310030009a0099009800970045004400430042c031c02dc029c025c00ec004009c003c002f00960041c011c007c00cc00200050004c012c008001600130010000dc00dc003000a00ff01000055000b000403000102000af01c001a00170019001c001b0018001a0016000e000d000b000c0009000a00230000000d0020001e060106020603050105020503040104020403030103020303020102020203000f000101
Protocol = 0303
-Exception = Invalid argument Decoding error: Inconsistent length field in supported groups list
+Exception = Inconsistent length field in supported groups list
#invalid length of the supported groups extension (0xf01a instead of 0x001a)
Buffer = 0303871e18983024eaee1be8ae6607d5ecad941d33fd7fc1d8554a9e1fbfda8d30880000aac030c02cc028c024c014c00a00a500a300a1009f006b006a0069006800390038003700360088008700860085c032c02ec02ac026c00fc005009d003d00350084c02fc02bc027c023c013c00900a400a200a0009e00670040003f003e0033003200310030009a0099009800970045004400430042c031c02dc029c025c00ec004009c003c002f00960041c011c007c00cc00200050004c012c008001600130010000dc00dc003000a00ff01000055000b000403000102000a001cf01a00170019001c001b0018001a0016000e000d000b000c0009000a00230000000d0020001e060106020603050105020503040104020403030103020303020102020203000f000101
Protocol = 0303
-Exception = Invalid argument Decoding error: Inconsistent length field in supported groups list
+Exception = Inconsistent length field in supported groups list
#invalid length of the session ticket extension
Buffer = 0303871e18983024eaee1be8ae6607d5ecad941d33fd7fc1d8554a9e1fbfda8d30880000aac030c02cc028c024c014c00a00a500a300a1009f006b006a0069006800390038003700360088008700860085c032c02ec02ac026c00fc005009d003d00350084c02fc02bc027c023c013c00900a400a200a0009e00670040003f003e0033003200310030009a0099009800970045004400430042c031c02dc029c025c00ec004009c003c002f00960041c011c007c00cc00200050004c012c008001600130010000dc00dc003000a00ff01000055000b000403000102000a001c001a00170019001c001b0018001a0016000e000d000b000c0009000a002300ff000d0020001e060106020603050105020503040104020403030103020303020102020203000f000101
Protocol = 0303
-Exception = Invalid argument Decoding error: Invalid ClientHello: Expected 255 bytes remaining, only 41 left
+Exception = Invalid ClientHello: Expected 255 bytes remaining, only 41 left
#invalid length of the heartbeat extension
Buffer = 0303871e18983024eaee1be8ae6607d5ecad941d33fd7fc1d8554a9e1fbfda8d30880000aac030c02cc028c024c014c00a00a500a300a1009f006b006a0069006800390038003700360088008700860085c032c02ec02ac026c00fc005009d003d00350084c02fc02bc027c023c013c00900a400a200a0009e00670040003f003e0033003200310030009a0099009800970045004400430042c031c02dc029c025c00ec004009c003c002f00960041c011c007c00cc00200050004c012c008001600130010000dc00dc003000a00ff01000055000b000403000102000a001c001a00170019001c001b0018001a0016000e000d000b000c0009000a00230000000d0020001e060106020603050105020503040104020403030103020303020102020203000f000201
Protocol = 0303
-Exception = Invalid argument Decoding error: Invalid ClientHello: Expected 2 bytes remaining, only 1 left
+Exception = Invalid ClientHello: Expected 2 bytes remaining, only 1 left
diff --git a/src/tests/data/tls/hello_request.vec b/src/tests/data/tls/hello_request.vec
index 3a7471ae4..280acada9 100644
--- a/src/tests/data/tls/hello_request.vec
+++ b/src/tests/data/tls/hello_request.vec
@@ -5,4 +5,4 @@ Buffer =
Exception =
Buffer = 01
-Exception = Invalid argument Decoding error: Bad Hello_Request, has non-zero size
+Exception = Bad Hello_Request, has non-zero size
diff --git a/src/tests/data/tls/hello_verify.vec b/src/tests/data/tls/hello_verify.vec
index f5db9e085..59fc1c337 100644
--- a/src/tests/data/tls/hello_verify.vec
+++ b/src/tests/data/tls/hello_verify.vec
@@ -10,17 +10,17 @@ Exception =
# HelloVerify request has to contain at least 3 bytes
Buffer = 0101
-Exception = Invalid argument Decoding error: Hello verify request too small
+Exception = Hello verify request too small
# HelloVerify has to contain valid protocol version
Buffer = 010100
-Exception = Invalid argument Decoding error: Unknown version from server in hello verify request
+Exception = Unknown version from server in hello verify request
# HelloVerify has to contain valid number of bytes
Buffer = FEFD0000
-Exception = Invalid argument Decoding error: Bad length in hello verify request
+Exception = Bad length in hello verify request
# HelloVerify has to contain valid number of bytes
Buffer = FEFD0500
-Exception = Invalid argument Decoding error: Bad length in hello verify request
+Exception = Bad length in hello verify request
diff --git a/src/tests/data/tls/new_session_ticket.vec b/src/tests/data/tls/new_session_ticket.vec
index 22c03611e..bfc069149 100644
--- a/src/tests/data/tls/new_session_ticket.vec
+++ b/src/tests/data/tls/new_session_ticket.vec
@@ -14,7 +14,7 @@ Buffer = 0000000000051122334455
Exception =
Buffer = 0001
-Exception = Invalid argument Decoding error: Session ticket message too short to be valid
+Exception = Session ticket message too short to be valid
Buffer = 00010203000500
-Exception = Invalid argument Decoding error: Invalid SessionTicket: Expected 5 bytes remaining, only 1 left \ No newline at end of file
+Exception = Invalid SessionTicket: Expected 5 bytes remaining, only 1 left \ No newline at end of file
diff --git a/src/tests/data/tls/server_hello.vec b/src/tests/data/tls/server_hello.vec
index c4daed84e..481ad02b8 100644
--- a/src/tests/data/tls/server_hello.vec
+++ b/src/tests/data/tls/server_hello.vec
@@ -24,25 +24,25 @@ Buffer =
Protocol = 0303
Ciphersuite = C030
AdditionalData =
-Exception = Invalid argument Decoding error: Server_Hello: Packet corrupted
+Exception = Server_Hello: Packet corrupted
# incorrect, corrupted
Buffer = 00
Protocol = 0303
Ciphersuite = C030
AdditionalData =
-Exception = Invalid argument Decoding error: Server_Hello: Packet corrupted
+Exception = Server_Hello: Packet corrupted
# invalid extensions length
Buffer = 03039f9cafa88664d9095f85dd64a39e5dd5c09f5a4a5362938af3718ee4e818af6a00c03000001cff01000100000b00040300010200230000000f00010100170000
Protocol = 0303
Ciphersuite = C030
AdditionalData = 00170023FF01
-Exception = Invalid argument Decoding error: Bad extension size
+Exception = Bad extension size
# invalid extension length
Buffer = 03039f9cafa88664d9095f85dd64a39e5dd5c09f5a4a5362938af3718ee4e818af6a00c03000001aff01000100000b00040300010200230100000f00010100170000
Protocol = 0303
Ciphersuite = C030
AdditionalData = 00170023FF01
-Exception = Invalid argument Decoding error: Invalid ServerHello: Expected 256 bytes remaining, only 9 left
+Exception = Invalid ServerHello: Expected 256 bytes remaining, only 9 left
diff --git a/src/tests/data/x509/bsi/expected.txt b/src/tests/data/x509/bsi/expected.txt
index e47f978b1..8037c6aca 100644
--- a/src/tests/data/x509/bsi/expected.txt
+++ b/src/tests/data/x509/bsi/expected.txt
@@ -3,15 +3,15 @@ cert_path_algo_strength_02$Hash function used is considered too weak for securit
cert_path_algo_strength_03$Signature error
cert_path_common_01$Verified
cert_path_common_02$Cannot establish trust
-cert_path_common_03$Invalid argument Decoding error: CERTIFICATE decoding failed: Invalid argument Decoding error: X.509 Certificate had differing algorithm identifers in inner and outer ID fields
+cert_path_common_03$CERTIFICATE decoding failed with X.509 Certificate had differing algorithm identifers in inner and outer ID fields
cert_path_common_04$Certificate signed with unknown/unavailable algorithm
-cert_path_common_05$Invalid argument Decoding error: CERTIFICATE decoding failed: Invalid argument Decoding error: BER: Value truncated
+cert_path_common_05$CERTIFICATE decoding failed with BER: Value truncated
cert_path_common_06$Warning: Certificate serial number is negative
cert_path_common_07$Certificate is not yet valid
cert_path_common_08$Certificate has expired
cert_path_common_09$Certificate is not yet valid
cert_path_common_10$Certificate has expired
-cert_path_common_11$Invalid argument Decoding error: CERTIFICATE decoding failed: Invalid argument Decoding error: Unknown X.509 cert version 5
+cert_path_common_11$CERTIFICATE decoding failed with Unknown X.509 cert version 5
cert_path_common_12$Warning: Distinguished name too long
cert_path_common_13$Verified
cert_path_common_14$Verified
@@ -28,7 +28,7 @@ cert_path_CRL_10$Certificate is revoked
cert_path_CRL_11$Certificate is revoked
cert_path_CRL_12$No revocation data
cert_path_CRL_13$No CRL with matching distribution point for certificate
-cert_path_CRL_14$Invalid argument Decoding error: X509 CRL decoding failed: Invalid argument Decoding error: BER: Tag mismatch when decoding object got EOF expected BIT STRING/UNIVERSAL
+cert_path_CRL_14$X509 CRL decoding failed with BER: Tag mismatch when decoding object got EOF expected BIT STRING/UNIVERSAL
cert_path_CRL_15$No CRL with matching distribution point for certificate
cert_path_CRL_16$Certificate is revoked
cert_path_crypt_01$Signature error
@@ -42,7 +42,7 @@ cert_path_ext_06$CA certificate not allowed to issue certs
cert_path_ext_07$CA certificate not allowed to issue certs
cert_path_ext_08$Certificate chain too long
cert_path_ext_09$Verified
-cert_path_ext_10$Invalid argument Decoding error: CERTIFICATE decoding failed: Invalid argument Decoding error: Decoding X.509 extension 2.5.29.15 failed failed with exception Invalid argument Decoding error: BER: Tag mismatch when decoding usage constraint got SEQUENCE/CONSTRUCTED expected BIT STRING/UNIVERSAL
+cert_path_ext_10$CERTIFICATE decoding failed with Decoding X.509 extension 2.5.29.15 failed with BER: Tag mismatch when decoding usage constraint got SEQUENCE/CONSTRUCTED expected BIT STRING/UNIVERSAL
cert_path_ext_11$CA certificate not allowed to issue certs
cert_path_ext_12$Certificate contains duplicate policy
cert_path_ext_13$Unknown critical extension encountered
diff --git a/src/tests/test_bigint.cpp b/src/tests/test_bigint.cpp
index 146a9e8c9..ad0af03f4 100644
--- a/src/tests/test_bigint.cpp
+++ b/src/tests/test_bigint.cpp
@@ -91,13 +91,13 @@ class BigInt_Unit_Tests final : public Test
Test::Result result("BigInt prime generation");
result.test_throws("Invalid bit size",
- "Invalid argument random_prime: Can't make a prime of 0 bits",
+ "random_prime: Can't make a prime of 0 bits",
[]() { Botan::random_prime(Test::rng(), 0); });
result.test_throws("Invalid bit size",
- "Invalid argument random_prime: Can't make a prime of 1 bits",
+ "random_prime: Can't make a prime of 1 bits",
[]() { Botan::random_prime(Test::rng(), 1); });
result.test_throws("Invalid arg",
- "Invalid argument random_prime Invalid value for equiv/modulo",
+ "random_prime Invalid value for equiv/modulo",
[]() { Botan::random_prime(Test::rng(), 2, 1, 0, 2); });
BigInt p = Botan::random_prime(Test::rng(), 2);
diff --git a/src/tests/test_dh.cpp b/src/tests/test_dh.cpp
index 77778925f..49da13d12 100644
--- a/src/tests/test_dh.cpp
+++ b/src/tests/test_dh.cpp
@@ -89,7 +89,7 @@ class Diffie_Hellman_KAT_Tests final : public PK_Key_Agreement_Test
std::unique_ptr<Botan::PK_Key_Agreement> kas(new Botan::PK_Key_Agreement(*privkey, rng(), "Raw"));
result.test_throws("agreement input too big",
- "Invalid argument DH agreement - invalid key provided",
+ "DH agreement - invalid key provided",
[&kas]()
{
const BigInt too_big("584580020955360946586837552585233629614212007514394561597561641914945762794672");
@@ -97,7 +97,7 @@ class Diffie_Hellman_KAT_Tests final : public PK_Key_Agreement_Test
});
result.test_throws("agreement input too small",
- "Invalid argument DH agreement - invalid key provided",
+ "DH agreement - invalid key provided",
[&kas]()
{
const BigInt too_small("1");
diff --git a/src/tests/test_dl_group.cpp b/src/tests/test_dl_group.cpp
index 64a59f22c..159454b3f 100644
--- a/src/tests/test_dl_group.cpp
+++ b/src/tests/test_dl_group.cpp
@@ -47,7 +47,7 @@ class DL_Group_Tests final : public Test
if(Test::options().undefined_behavior_allowed())
{
result.test_throws("Bad generator param",
- "Invalid argument DL_Group unknown PrimeType",
+ "DL_Group unknown PrimeType",
[]() {
auto invalid_type = static_cast<Botan::DL_Group::PrimeType>(9);
Botan::DL_Group dl(Test::rng(), invalid_type, 1024);
@@ -129,11 +129,11 @@ class DL_Group_Tests final : public Test
const std::vector<uint8_t> working_seed = Botan::hex_decode("0000000000000000000000000000000000000021");
result.test_throws("DSA seed does not generate group",
- "Invalid argument DL_Group: The seed given does not generate a DSA group",
+ "DL_Group: The seed given does not generate a DSA group",
[&rng,&invalid_seed]() { Botan::DL_Group dsa(rng, invalid_seed, 1024, 160); });
result.test_throws("DSA seed is too short",
- "Invalid argument Generating a DSA parameter set with a 160 bit long q requires a seed at least as many bits long",
+ "Generating a DSA parameter set with a 160 bit long q requires a seed at least as many bits long",
[&rng,&short_seed]() { Botan::DL_Group dsa(rng, short_seed, 1024, 160); });
// From FIPS 186-3 test data
diff --git a/src/tests/test_filters.cpp b/src/tests/test_filters.cpp
index cc40cccbe..33649e56a 100644
--- a/src/tests/test_filters.cpp
+++ b/src/tests/test_filters.cpp
@@ -216,11 +216,11 @@ class Filter_Tests final : public Test
// can't explicitly insert a queue into the pipe because they are implicit
result.test_throws("pipe error",
- "Invalid argument Pipe::append: SecureQueue cannot be used",
+ "Pipe::append: SecureQueue cannot be used",
[&]() { pipe.append(queue_filter.get()); });
result.test_throws("pipe error",
- "Invalid argument Pipe::prepend: SecureQueue cannot be used",
+ "Pipe::prepend: SecureQueue cannot be used",
[&]() { pipe.prepend(queue_filter.get()); });
pipe.append_filter(new Botan::BitBucket); // succeeds
@@ -266,7 +266,7 @@ class Filter_Tests final : public Test
[&]() { pipe.prepend_filter(filter.get()); });
result.test_throws("pipe error",
- "Invalid argument Pipe::read: Invalid message number 100",
+ "Pipe::read: Invalid message number 100",
[&]() { uint8_t b; size_t got = pipe.read(&b, 1, 100); BOTAN_UNUSED(got); });
pipe.append(nullptr); // ignored
@@ -288,7 +288,7 @@ class Filter_Tests final : public Test
mac_filter->set_iv(Botan::InitializationVector()); // ignored
result.test_throws("Keyed_Filter::set_iv throws if not implemented",
- "Invalid argument IV length 1 is invalid for HMAC(SHA-256)",
+ "IV length 1 is invalid for HMAC(SHA-256)",
[mac_filter]() { mac_filter->set_iv(Botan::InitializationVector("AA")); });
Botan::Pipe pipe(mac_filter,
diff --git a/src/tests/test_hash.cpp b/src/tests/test_hash.cpp
index 6b69b5be4..228240b58 100644
--- a/src/tests/test_hash.cpp
+++ b/src/tests/test_hash.cpp
@@ -47,7 +47,7 @@ class Invalid_Hash_Name_Tests final : public Test
catch(Botan::Invalid_Argument& e)
{
const std::string msg = e.what();
- const std::string full_msg = "Invalid argument " + expected_msg;
+ const std::string full_msg = "" + expected_msg;
result.test_eq("expected error message", msg, full_msg);
}
catch(Botan::Lookup_Error& e)
diff --git a/src/tests/test_passhash.cpp b/src/tests/test_passhash.cpp
index 546dce39e..b6bd268b1 100644
--- a/src/tests/test_passhash.cpp
+++ b/src/tests/test_passhash.cpp
@@ -63,7 +63,7 @@ class Bcrypt_Tests final : public Text_Based_Test
}
result.test_throws("Invalid bcrypt version rejected",
- "Invalid argument Unknown bcrypt version 'q'",
+ "Unknown bcrypt version 'q'",
[]() { Botan::generate_bcrypt("pass", Test::rng(), 4, 'q'); });
result.set_ns_consumed(Test::timestamp() - start);
@@ -138,11 +138,11 @@ class Passhash9_Tests final : public Text_Based_Test
Botan::is_passhash9_alg_supported(255) == false);
result.test_throws("Throws if algorithm not supported",
- "Invalid argument Passhash9: Algorithm id 255 is not defined",
+ "Passhash9: Algorithm id 255 is not defined",
[]() { Botan::generate_passhash9("pass", Test::rng(), 3, 255); });
result.test_throws("Throws if iterations is too high",
- "Invalid argument Requested passhash9 work factor 513 is too large",
+ "Requested passhash9 work factor 513 is too large",
[]() { Botan::check_passhash9("floof", "$9$AgIB3c5J3kvAuML84sZ5hWT9WzJtiYRPLCEARaujS7I6IKbNCwp0"); });
return {result};
}
diff --git a/src/tests/test_pem.cpp b/src/tests/test_pem.cpp
index bf5913ced..5fc8080dd 100644
--- a/src/tests/test_pem.cpp
+++ b/src/tests/test_pem.cpp
@@ -33,17 +33,17 @@ class PEM_Tests : public Test
result.test_eq("PEM decoding label", label1, "BUNNY");
result.test_throws("PEM decoding unexpected label",
- "Invalid argument Decoding error: PEM: Label mismatch, wanted FLOOFY, got BUNNY",
+ "PEM: Label mismatch, wanted FLOOFY, got BUNNY",
[pem1]() { Botan::PEM_Code::decode_check_label(pem1, "FLOOFY"); });
const std::string malformed_pem1 = "---BEGIN BUNNY-----\n-----END BUNNY-----";
result.test_throws("PEM decoding bad init label",
- "Invalid argument Decoding error: PEM: No PEM header found",
+ "PEM: No PEM header found",
[malformed_pem1]() { Botan::PEM_Code::decode_check_label(malformed_pem1, "BUNNY"); });
const std::string malformed_pem2 = "-----BEGIN BUNNY-----\n-----END FLOOFY-----";
result.test_throws("PEM decoding bad init label",
- "Invalid argument Decoding error: PEM: Malformed PEM trailer",
+ "PEM: Malformed PEM trailer",
[malformed_pem2]() { Botan::PEM_Code::decode_check_label(malformed_pem2, "BUNNY"); });
diff --git a/src/tests/test_psk_db.cpp b/src/tests/test_psk_db.cpp
index 87a0b4381..4271d400a 100644
--- a/src/tests/test_psk_db.cpp
+++ b/src/tests/test_psk_db.cpp
@@ -148,7 +148,7 @@ class PSK_DB_Tests final : public Test
result.test_eq("Have expected name", all_names.count("leroy jeeeeeeeenkins"), 1);
result.test_throws("exception if get called on non-existent PSK",
- "Invalid argument Named PSK not located",
+ "Named PSK not located",
[&]() { db.get("name2"); });
// test that redundant remove calls accepted
@@ -238,7 +238,7 @@ class PSK_DB_Tests final : public Test
result.test_eq("Have expected name", all_names.count("leroy jeeeeeeeenkins"), 1);
result.test_throws("exception if get called on non-existent PSK",
- "Invalid argument Named PSK not located",
+ "Named PSK not located",
[&]() { db.get("name2"); });
// test that redundant remove calls accepted
diff --git a/src/tests/unit_ecdsa.cpp b/src/tests/unit_ecdsa.cpp
index 260eb8571..88c3a4d05 100644
--- a/src/tests/unit_ecdsa.cpp
+++ b/src/tests/unit_ecdsa.cpp
@@ -304,7 +304,7 @@ Test::Result test_encoding_options()
auto invalid_format = static_cast<Botan::PointGFp::Compression_Type>(99);
result.test_throws("Invalid point format throws",
- "Invalid argument Invalid point encoding for EC_PublicKey",
+ "Invalid point encoding for EC_PublicKey",
[&] { key.set_point_encoding(invalid_format); });
}
diff --git a/src/tests/unit_x509.cpp b/src/tests/unit_x509.cpp
index 265f426af..b0a5da23a 100644
--- a/src/tests/unit_x509.cpp
+++ b/src/tests/unit_x509.cpp
@@ -565,7 +565,7 @@ Test::Result test_x509_authority_info_access_extension()
{
test_result.test_eq("Build CA certitiface with invalid encoding scheme EMSA1 for key type " +
sk->algo_name(), e.what(),
- "Invalid argument Encoding scheme with canonical name EMSA1 not supported for signature algorithm RSA");
+ "Encoding scheme with canonical name EMSA1 not supported for signature algorithm RSA");
}
#endif
@@ -591,7 +591,7 @@ Test::Result test_x509_authority_info_access_extension()
{
test_result.test_eq("Configured conflicting hash functions for CA",
e.what(),
- "Invalid argument Hash function from opts and hash_fn argument need to be identical");
+ "Hash function from opts and hash_fn argument need to be identical");
}
// Create X509 CA object: its signer will use the padding scheme from the CA certificate, i.e. EMSA3