NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
authority_validator_interface.h
Go to the documentation of this file.
1 #ifndef SDK_CRYPT_AUTHORITY_VALIDATOR_INTERFACE_H_
12 #define SDK_CRYPT_AUTHORITY_VALIDATOR_INTERFACE_H_
13 
14 #include <base/inc/platform.h>
15 #include <base/inc/sdk_results.h>
16 #include <base/inc/sdk_ref_ptr.h>
18 #include <base/inc/forward_declarations.h>
22 
23 SDK_BEGIN_NAMESPACE
24 namespace crypt {
25 
26 FWD_DECL_INTERFACE(IAuthorityValidator);
27 typedef IAuthorityValidatorSP AuthorityValidatorSP;
28 
33 {
34 public:
37  virtual SDKResult SDK_CALLTYPE CreateCertificate(
38  const PublicCryptoKeySP& public_key, const PrivateCryptoKeySP& private_key,
39  DigitalCertificateSP& certificate) const throw() = 0;
40 
46  virtual SDKResult SDK_CALLTYPE ValidateCertificate(
47  const DigitalCertificateSP& certificate, const PublicCryptoKeySP& public_key,
48  bool& is_certificate_valid) const throw() = 0;
49 
52  virtual SDKResult SDK_CALLTYPE CreateDataSignature(
53  const DigitalCertificateSP& digital_certificate,
54  const PrivateCryptoKeySP& private_key, const base::SDKStreamSP& data_stream,
55  DataSignatureSP& data_signature) const throw() = 0;
56 
62  virtual SDKResult SDK_CALLTYPE ValidateDataSignature(
63  const DataSignatureSP& data_signature, const base::SDKStreamSP& data_stream,
64  bool& is_data_signature_valid) const throw() = 0;
65 
67  SDK_IMPLEMENT_IID(IAuthorityValidator)
68  SDK_END_INTERFACE(IAuthorityValidator)
69 };
70 SDK_DECLARE_IID(IAuthorityValidator)
71 
72 } // namespace crypt
73 SDK_END_NAMESPACE
74 
75 #endif // SDK_CRYPT_AUTHORITY_VALIDATOR_INTERFACE_H_
crypt::IAuthorityValidator
Interface for data authority validation including certificates check, binary data check,...
Definition: authority_validator_interface.h:32
sdk_results.h
A list of SDK error/return results.
sdk_ref_ptr.h
Interfaces wrapper with reference count control.
data_signature_interface.h
Generic digital signature for data interface.
asymmetric_crypto_key_interface.h
Set of interfaces for asymmetric cryptographic key implementation.
crypt::IAuthorityValidator::ValidateCertificate
virtual SDKResult SDK_CALLTYPE ValidateCertificate(const DigitalCertificateSP &certificate, const PublicCryptoKeySP &public_key, bool &is_certificate_valid) const =0
Checks, if given certificate is valid against passed public key Supports only following certificate f...
crypt::IAuthorityValidator::CreateCertificate
virtual SDKResult SDK_CALLTYPE CreateCertificate(const PublicCryptoKeySP &public_key, const PrivateCryptoKeySP &private_key, DigitalCertificateSP &certificate) const =0
Creates a new certificate by signing the public key with appropriate private key (For S-63 only,...
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
crypt::IAuthorityValidator::ValidateDataSignature
virtual SDKResult SDK_CALLTYPE ValidateDataSignature(const DataSignatureSP &data_signature, const base::SDKStreamSP &data_stream, bool &is_data_signature_valid) const =0
Checks, if given data signature is valid against data stream Supports only following data signature f...
sdk_component_interface.h
Common base SDK interfaces.
platform.h
Describes the platform constants.
digital_certificate_interface.h
Generic digital cryptographic certificate interface.
ISDKComponent
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
crypt::IAuthorityValidator::CreateDataSignature
virtual SDKResult SDK_CALLTYPE CreateDataSignature(const DigitalCertificateSP &digital_certificate, const PrivateCryptoKeySP &private_key, const base::SDKStreamSP &data_stream, DataSignatureSP &data_signature) const =0
Creates a data signature for given data stream (For S-63 only, DSA512 with SHA1)