aboutsummaryrefslogtreecommitdiffstats
path: root/src/cert/cvc
diff options
context:
space:
mode:
authorlloyd <[email protected]>2009-12-16 02:52:12 +0000
committerlloyd <[email protected]>2009-12-16 02:52:12 +0000
commit317b76d71dca1840c9e72f9a26407590719c1423 (patch)
tree2eb49072e6e27f6ee41e704004aa8689b1e98bb3 /src/cert/cvc
parent457ce43934a4e51ead4d21e43013eef9d448d0e1 (diff)
parent12afeca214c4414a0ced0bc4654d0fc5908dc77b (diff)
propagate from branch 'net.randombit.botan' (head 744dccf92270cf16b80b50ee2759424c9866b256)
to branch 'net.randombit.botan.c++0x' (head 2aa1acac1d05e8ea9991fe39015b1db9abc3b24e)
Diffstat (limited to 'src/cert/cvc')
-rw-r--r--src/cert/cvc/asn1_eac_tm.cpp2
-rw-r--r--src/cert/cvc/cvc_gen_cert.h1
-rw-r--r--src/cert/cvc/cvc_self.h75
-rw-r--r--src/cert/cvc/eac_asn_obj.h16
-rw-r--r--src/cert/cvc/info.txt29
5 files changed, 64 insertions, 59 deletions
diff --git a/src/cert/cvc/asn1_eac_tm.cpp b/src/cert/cvc/asn1_eac_tm.cpp
index 827710084..1335e8afa 100644
--- a/src/cert/cvc/asn1_eac_tm.cpp
+++ b/src/cert/cvc/asn1_eac_tm.cpp
@@ -11,7 +11,7 @@
#include <botan/ber_dec.h>
#include <botan/charset.h>
#include <botan/parsing.h>
-#include <botan/rounding.h>
+#include <botan/internal/rounding.h>
#include <botan/time.h>
namespace Botan {
diff --git a/src/cert/cvc/cvc_gen_cert.h b/src/cert/cvc/cvc_gen_cert.h
index 8620cd89a..059a82562 100644
--- a/src/cert/cvc/cvc_gen_cert.h
+++ b/src/cert/cvc/cvc_gen_cert.h
@@ -13,6 +13,7 @@
#include <botan/eac_asn_obj.h>
#include <botan/pubkey_enums.h>
#include <botan/pubkey.h>
+#include <botan/ecdsa.h>
#include <botan/ecdsa_sig.h>
#include <string>
#include <assert.h>
diff --git a/src/cert/cvc/cvc_self.h b/src/cert/cvc/cvc_self.h
index db23547b9..fb24ecd3a 100644
--- a/src/cert/cvc/cvc_self.h
+++ b/src/cert/cvc/cvc_self.h
@@ -48,9 +48,9 @@ namespace CVC_EAC {
* @result the self signed certificate
*/
-EAC1_1_CVC create_self_signed_cert(Private_Key const& key,
- EAC1_1_CVC_Options const& opts,
- RandomNumberGenerator& rng);
+EAC1_1_CVC BOTAN_DLL create_self_signed_cert(Private_Key const& key,
+ EAC1_1_CVC_Options const& opts,
+ RandomNumberGenerator& rng);
/**
* Create a CVC request. The key encoding will be according to the provided private key.
* @param priv_key the private key associated with the requesting entity
@@ -61,10 +61,10 @@ EAC1_1_CVC create_self_signed_cert(Private_Key const& key,
* @param rng the rng to use
* @result the new request
*/
-EAC1_1_Req create_cvc_req(Private_Key const& priv_key,
- ASN1_Chr const& chr,
- std::string const& hash_alg,
- RandomNumberGenerator& rng);
+EAC1_1_Req BOTAN_DLL create_cvc_req(Private_Key const& priv_key,
+ ASN1_Chr const& chr,
+ std::string const& hash_alg,
+ RandomNumberGenerator& rng);
/**
* Create an ADO from a request object.
@@ -74,15 +74,16 @@ EAC1_1_Req create_cvc_req(Private_Key const& priv_key,
* CHR of the entity associated with the provided private key
* @param rng the rng to use
*/
-EAC1_1_ADO create_ado_req(Private_Key const& priv_key,
- EAC1_1_Req const& req,
- ASN1_Car const& car,
- RandomNumberGenerator& rng);
+EAC1_1_ADO BOTAN_DLL create_ado_req(Private_Key const& priv_key,
+ EAC1_1_Req const& req,
+ ASN1_Car const& car,
+ RandomNumberGenerator& rng);
}
/**
-* This namespace represents EAC 1.1 CVC convenience functions following the specific german
-* requirements.
+* This namespace represents EAC 1.1 CVC convenience functions
+* following the specific german requirements.
*/
+
namespace DE_EAC {
/**
@@ -99,13 +100,13 @@ namespace DE_EAC {
* @param rng the rng to use
* @result the CVCA certificate created
*/
-EAC1_1_CVC create_cvca(Private_Key const& priv_key,
- std::string const& hash,
- ASN1_Car const& car,
- bool iris,
- bool fingerpr,
- u32bit cvca_validity_months,
- RandomNumberGenerator& rng);
+EAC1_1_CVC BOTAN_DLL create_cvca(Private_Key const& priv_key,
+ std::string const& hash,
+ ASN1_Car const& car,
+ bool iris,
+ bool fingerpr,
+ u32bit cvca_validity_months,
+ RandomNumberGenerator& rng);
/**
* Create a link certificate between two CVCA certificates. The key
@@ -117,10 +118,10 @@ EAC1_1_CVC create_cvca(Private_Key const& priv_key,
* the holder of the link certificate
* @param rng a random number generator
*/
-EAC1_1_CVC link_cvca(EAC1_1_CVC const& signer,
- Private_Key const& priv_key,
- EAC1_1_CVC const& to_be_signed,
- RandomNumberGenerator& rng);
+EAC1_1_CVC BOTAN_DLL link_cvca(EAC1_1_CVC const& signer,
+ Private_Key const& priv_key,
+ EAC1_1_CVC const& to_be_signed,
+ RandomNumberGenerator& rng);
/**
* Create a CVC request. The key encoding will be implicitCA.
@@ -132,10 +133,10 @@ EAC1_1_CVC link_cvca(EAC1_1_CVC const& signer,
* @param rng a random number generator
* @result the new request
*/
-EAC1_1_Req create_cvc_req(Private_Key const& priv_key,
- ASN1_Chr const& chr,
- std::string const& hash_alg,
- RandomNumberGenerator& rng);
+EAC1_1_Req BOTAN_DLL create_cvc_req(Private_Key const& priv_key,
+ ASN1_Chr const& chr,
+ std::string const& hash_alg,
+ RandomNumberGenerator& rng);
/**
* Sign a CVC request.
@@ -151,15 +152,15 @@ EAC1_1_Req create_cvc_req(Private_Key const& priv_key,
* @result the new certificate
*
**/
-EAC1_1_CVC sign_request(EAC1_1_CVC const& signer_cert,
- Private_Key const& priv_key,
- EAC1_1_Req const& req,
- u32bit seqnr,
- u32bit seqnr_len,
- bool domestic,
- u32bit dvca_validity_months,
- u32bit ca_is_validity_months,
- RandomNumberGenerator& rng);
+EAC1_1_CVC BOTAN_DLL sign_request(EAC1_1_CVC const& signer_cert,
+ Private_Key const& priv_key,
+ EAC1_1_Req const& req,
+ u32bit seqnr,
+ u32bit seqnr_len,
+ bool domestic,
+ u32bit dvca_validity_months,
+ u32bit ca_is_validity_months,
+ RandomNumberGenerator& rng);
}
}
diff --git a/src/cert/cvc/eac_asn_obj.h b/src/cert/cvc/eac_asn_obj.h
index a6685a8ed..79802951c 100644
--- a/src/cert/cvc/eac_asn_obj.h
+++ b/src/cert/cvc/eac_asn_obj.h
@@ -223,14 +223,14 @@ class BOTAN_DLL ASN1_Chr : public ASN1_EAC_String
/*
* Comparison Operations
*/
-bool operator==(const EAC_Time&, const EAC_Time&);
-bool operator!=(const EAC_Time&, const EAC_Time&);
-bool operator<=(const EAC_Time&, const EAC_Time&);
-bool operator>=(const EAC_Time&, const EAC_Time&);
-bool operator>(const EAC_Time&, const EAC_Time&);
-bool operator<(const EAC_Time&, const EAC_Time&);
-
-bool operator==(const ASN1_EAC_String&, const ASN1_EAC_String&);
+bool BOTAN_DLL operator==(const EAC_Time&, const EAC_Time&);
+bool BOTAN_DLL operator!=(const EAC_Time&, const EAC_Time&);
+bool BOTAN_DLL operator<=(const EAC_Time&, const EAC_Time&);
+bool BOTAN_DLL operator>=(const EAC_Time&, const EAC_Time&);
+bool BOTAN_DLL operator>(const EAC_Time&, const EAC_Time&);
+bool BOTAN_DLL operator<(const EAC_Time&, const EAC_Time&);
+
+bool BOTAN_DLL operator==(const ASN1_EAC_String&, const ASN1_EAC_String&);
inline bool operator!=(const ASN1_EAC_String& lhs, const ASN1_EAC_String& rhs)
{
return !(lhs == rhs);
diff --git a/src/cert/cvc/info.txt b/src/cert/cvc/info.txt
index ff7e04c07..b89441a03 100644
--- a/src/cert/cvc/info.txt
+++ b/src/cert/cvc/info.txt
@@ -2,29 +2,32 @@ define CARD_VERIFIABLE_CERTIFICATES
load_on auto
-<add>
-asn1_eac_str.cpp
-asn1_eac_tm.cpp
-ecdsa_sig.cpp
-ecdsa_sig.h
-cvc_ado.cpp
+<header:public>
cvc_ado.h
-cvc_ca.cpp
cvc_ca.h
-cvc_cert.cpp
cvc_cert.h
cvc_gen_cert.h
cvc_key.h
-cvc_req.cpp
cvc_req.h
-cvc_self.cpp
cvc_self.h
eac_asn_obj.h
eac_obj.h
-signed_obj.cpp
-signed_obj.h
+ecdsa_sig.h
freestore.h
-</add>
+signed_obj.h
+</header:public>
+
+<source>
+asn1_eac_str.cpp
+asn1_eac_tm.cpp
+ecdsa_sig.cpp
+cvc_ado.cpp
+cvc_ca.cpp
+cvc_cert.cpp
+cvc_req.cpp
+cvc_self.cpp
+signed_obj.cpp
+</source>
<requires>
asn1