NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
asymmetric_crypto_key_reader_writer_interface.h
Go to the documentation of this file.
1 #ifndef SDK_CRYPT_ASYMMETRIC_CRYPTO_KEY_READER_WRITER_INTERFACE_H_
12 #define SDK_CRYPT_ASYMMETRIC_CRYPTO_KEY_READER_WRITER_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>
23 
24 SDK_BEGIN_NAMESPACE
25 namespace crypt {
26 
27 FWD_DECL_INTERFACE(IAsymmetricCryptoKeyReaderWriter);
28 typedef IAsymmetricCryptoKeyReaderWriterSP AsymmetricCryptoKeyReaderWriterSP;
29 
34 {
35 public:
39  virtual SDKResult SDK_CALLTYPE SavePrivateKey(
40  const PrivateCryptoKeySP& private_key,
41  const base::SDKStreamSP& output_stream) const throw() = 0;
42 
45  virtual SDKResult SDK_CALLTYPE LoadPrivateKey(
46  const base::SDKStreamSP& source_stream,
47  PrivateCryptoKeySP& private_key) const throw() = 0;
48 
52  virtual SDKResult SDK_CALLTYPE SavePublicKey(
53  const PublicCryptoKeySP& public_key,
54  const base::SDKStreamSP& output_stream) const throw() = 0;
55 
58  virtual SDKResult SDK_CALLTYPE LoadPublicKey(
59  const base::SDKStreamSP& source_stream,
60  PublicCryptoKeySP& public_key) const throw() = 0;
61 
65  virtual SDKResult SDK_CALLTYPE SaveDigitalCertificate(
66  const DigitalCertificateSP& certificate,
67  const base::SDKStreamSP& output_stream) const throw() = 0;
68 
71  virtual SDKResult SDK_CALLTYPE LoadDigitalCertificate(
72  const base::SDKStreamSP& source_stream,
73  DigitalCertificateSP& certificate) const throw() = 0;
74 
78  virtual SDKResult SDK_CALLTYPE SaveDataSignature(
79  const DataSignatureSP& data_signature,
80  const base::SDKStreamSP& output_stream) const throw() = 0;
81 
84  virtual SDKResult SDK_CALLTYPE LoadDataSignature(
85  const base::SDKStreamSP& source_stream,
86  DataSignatureSP& data_signature) const throw() = 0;
87 
95  virtual SDKResult SDK_CALLTYPE LoadDSADataSignature(
96  const DigitalCertificateSP& digital_certificate,
97  const SDKString& pem_or_hex_encoded_dsa_signature,
98  const DigitalSignatureAlgorithm& signature_algorithm,
99  DataSignatureSP& data_signature) const throw() = 0;
100 
102  SDK_IMPLEMENT_IID(IAsymmetricCryptoKeyReaderWriter)
103  SDK_END_INTERFACE(IAsymmetricCryptoKeyReaderWriter)
104 };
105 SDK_DECLARE_IID(IAsymmetricCryptoKeyReaderWriter)
106 
107 } // namespace crypt
108 SDK_END_NAMESPACE
109 
110 #endif // SDK_CRYPT_ASYMMETRIC_CRYPTO_KEY_READER_WRITER_INTERFACE_H_
crypt::IAsymmetricCryptoKeyReaderWriter
Allows to read/write private/public crypto-keys data from/to stream as well as to store certificates,...
Definition: asymmetric_crypto_key_reader_writer_interface.h:33
crypt::IAsymmetricCryptoKeyReaderWriter::LoadDSADataSignature
virtual SDKResult SDK_CALLTYPE LoadDSADataSignature(const DigitalCertificateSP &digital_certificate, const SDKString &pem_or_hex_encoded_dsa_signature, const DigitalSignatureAlgorithm &signature_algorithm, DataSignatureSP &data_signature) const =0
Loads DSA based data signature from PEM or HEX encoded string pem_or_hex_encoded_dsa_signature - PEM/...
sdk_results.h
A list of SDK error/return results.
crypt::IAsymmetricCryptoKeyReaderWriter::SavePublicKey
virtual SDKResult SDK_CALLTYPE SavePublicKey(const PublicCryptoKeySP &public_key, const base::SDKStreamSP &output_stream) const =0
Stores the public key data to stream Output file format depends of public key type (S-63 only for now...
crypt::IAsymmetricCryptoKeyReaderWriter::SaveDataSignature
virtual SDKResult SDK_CALLTYPE SaveDataSignature(const DataSignatureSP &data_signature, const base::SDKStreamSP &output_stream) const =0
Stores the data signature object to stream Output file format depends of data signature type (S-63 on...
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::IAsymmetricCryptoKeyReaderWriter::LoadPrivateKey
virtual SDKResult SDK_CALLTYPE LoadPrivateKey(const base::SDKStreamSP &source_stream, PrivateCryptoKeySP &private_key) const =0
Loads the private key data from stream Supports only S-63 private key format for now.
crypt::DigitalSignatureAlgorithm
DigitalSignatureAlgorithm
Digital signature algorithm.
Definition: digital_signature_interface.h:31
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
stream_interface.h
Generic data stream interface.
crypt::IAsymmetricCryptoKeyReaderWriter::SavePrivateKey
virtual SDKResult SDK_CALLTYPE SavePrivateKey(const PrivateCryptoKeySP &private_key, const base::SDKStreamSP &output_stream) const =0
Stores the private key data to stream Output file format depends of private key type (S-63 format onl...
sdk_component_interface.h
Common base SDK interfaces.
platform.h
Describes the platform constants.
digital_certificate_interface.h
Generic digital cryptographic certificate interface.
crypt::IAsymmetricCryptoKeyReaderWriter::LoadPublicKey
virtual SDKResult SDK_CALLTYPE LoadPublicKey(const base::SDKStreamSP &source_stream, PublicCryptoKeySP &public_key) const =0
Loads the public key data from stream Supports only S-63 public key format for now.
ISDKComponent
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
crypt::IAsymmetricCryptoKeyReaderWriter::LoadDataSignature
virtual SDKResult SDK_CALLTYPE LoadDataSignature(const base::SDKStreamSP &source_stream, DataSignatureSP &data_signature) const =0
Loads the data signature from stream Supports only S-63 data signature format for now.
crypt::IAsymmetricCryptoKeyReaderWriter::SaveDigitalCertificate
virtual SDKResult SDK_CALLTYPE SaveDigitalCertificate(const DigitalCertificateSP &certificate, const base::SDKStreamSP &output_stream) const =0
Stores the digital certificate data to stream Output file format depends of certificate type (PEM/DER...
crypt::IAsymmetricCryptoKeyReaderWriter::LoadDigitalCertificate
virtual SDKResult SDK_CALLTYPE LoadDigitalCertificate(const base::SDKStreamSP &source_stream, DigitalCertificateSP &certificate) const =0
Loads the digital certificate data from stream Supports PEM/DER/S-63 encoded certificates.
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.