diff options
Diffstat (limited to 'src/cert/x509cert')
-rw-r--r-- | src/cert/x509cert/x509_ext.cpp | 8 | ||||
-rw-r--r-- | src/cert/x509cert/x509_ext.h | 14 | ||||
-rw-r--r-- | src/cert/x509cert/x509cert.cpp | 6 |
3 files changed, 16 insertions, 12 deletions
diff --git a/src/cert/x509cert/x509_ext.cpp b/src/cert/x509cert/x509_ext.cpp index 88cab96c5..462b29669 100644 --- a/src/cert/x509cert/x509_ext.cpp +++ b/src/cert/x509cert/x509_ext.cpp @@ -166,7 +166,7 @@ namespace Cert_Extension { /* * Checked accessor for the path_limit member */ -u32bit Basic_Constraints::get_path_limit() const +size_t Basic_Constraints::get_path_limit() const { if(!is_ca) throw Invalid_State("Basic_Constraints::get_path_limit: Not a CA"); @@ -505,7 +505,7 @@ void Certificate_Policies::contents_to(Data_Store& info, Data_Store&) const /* * Checked accessor for the crl_number member */ -u32bit CRL_Number::get_crl_number() const +size_t CRL_Number::get_crl_number() const { if(!has_value) throw Invalid_State("CRL_Number::get_crl_number: Not set"); @@ -552,7 +552,7 @@ void CRL_Number::contents_to(Data_Store& info, Data_Store&) const MemoryVector<byte> CRL_ReasonCode::encode_inner() const { return DER_Encoder() - .encode(static_cast<u32bit>(reason), ENUMERATED, UNIVERSAL) + .encode(static_cast<size_t>(reason), ENUMERATED, UNIVERSAL) .get_contents(); } @@ -561,7 +561,7 @@ MemoryVector<byte> CRL_ReasonCode::encode_inner() const */ void CRL_ReasonCode::decode_inner(const MemoryRegion<byte>& in) { - u32bit reason_code = 0; + size_t reason_code = 0; BER_Decoder(in).decode(reason_code, ENUMERATED, UNIVERSAL); reason = static_cast<CRL_Code>(reason_code); } diff --git a/src/cert/x509cert/x509_ext.h b/src/cert/x509cert/x509_ext.h index 213a077a2..c32e39fdc 100644 --- a/src/cert/x509cert/x509_ext.h +++ b/src/cert/x509cert/x509_ext.h @@ -93,14 +93,16 @@ namespace Cert_Extension { class BOTAN_DLL Basic_Constraints : public Certificate_Extension { public: + static const size_t NO_CERT_PATH_LIMIT = 0xFFFFFFF0; + Basic_Constraints* copy() const { return new Basic_Constraints(is_ca, path_limit); } - Basic_Constraints(bool ca = false, u32bit limit = 0) : + Basic_Constraints(bool ca = false, size_t limit = 0) : is_ca(ca), path_limit(limit) {} bool get_is_ca() const { return is_ca; } - u32bit get_path_limit() const; + size_t get_path_limit() const; private: std::string config_id() const { return "basic_constraints"; } std::string oid_name() const { return "X509v3.BasicConstraints"; } @@ -110,7 +112,7 @@ class BOTAN_DLL Basic_Constraints : public Certificate_Extension void contents_to(Data_Store&, Data_Store&) const; bool is_ca; - u32bit path_limit; + size_t path_limit; }; /** @@ -292,9 +294,9 @@ class BOTAN_DLL CRL_Number : public Certificate_Extension CRL_Number* copy() const; CRL_Number() : has_value(false), crl_number(0) {} - CRL_Number(u32bit n) : has_value(true), crl_number(n) {} + CRL_Number(size_t n) : has_value(true), crl_number(n) {} - u32bit get_crl_number() const; + size_t get_crl_number() const; private: std::string config_id() const { return "crl_number"; } std::string oid_name() const { return "X509v3.CRLNumber"; } @@ -305,7 +307,7 @@ class BOTAN_DLL CRL_Number : public Certificate_Extension void contents_to(Data_Store&, Data_Store&) const; bool has_value; - u32bit crl_number; + size_t crl_number; }; /** diff --git a/src/cert/x509cert/x509cert.cpp b/src/cert/x509cert/x509cert.cpp index 4eef215f8..71ad8af82 100644 --- a/src/cert/x509cert/x509cert.cpp +++ b/src/cert/x509cert/x509cert.cpp @@ -66,7 +66,7 @@ X509_Certificate::X509_Certificate(const std::string& in) : */ void X509_Certificate::force_decode() { - u32bit version; + size_t version; BigInt serial_bn; AlgorithmIdentifier sig_algo_inner; X509_DN dn_issuer, dn_subject; @@ -141,7 +141,9 @@ void X509_Certificate::force_decode() if(is_CA_cert() && !subject.has_value("X509v3.BasicConstraints.path_constraint")) { - u32bit limit = (x509_version() < 3) ? NO_CERT_PATH_LIMIT : 0; + const size_t limit = (x509_version() < 3) ? + Cert_Extension::Basic_Constraints::NO_CERT_PATH_LIMIT : 0; + subject.add("X509v3.BasicConstraints.path_constraint", limit); } } |