Files
ANSLibs/chilkat/include/CkEdDSAW.h

131 lines
4.5 KiB
C++

// CkEdDSAW.h: interface for the CkEdDSAW class.
//
//////////////////////////////////////////////////////////////////////
// This header is generated for Chilkat 11.3.0
#ifndef _CkEdDSAW_H
#define _CkEdDSAW_H
#include "chilkatDefs.h"
#include "CkString.h"
#include "CkWideCharBase.h"
class CkPrngW;
class CkPrivateKeyW;
class CkPublicKeyW;
class CkBinDataW;
#if !defined(__sun__) && !defined(__sun)
#pragma pack (push, 8)
#endif
// CLASS: CkEdDSAW
class CK_VISIBLE_PUBLIC CkEdDSAW : public CkWideCharBase
{
private:
// Don't allow assignment or copying these objects.
CkEdDSAW(const CkEdDSAW &);
CkEdDSAW &operator=(const CkEdDSAW &);
public:
CkEdDSAW(void);
virtual ~CkEdDSAW(void);
static CkEdDSAW *createNew(void);
void CK_VISIBLE_PRIVATE inject(void *impl);
// May be called when finished with the object to free/dispose of any
// internal resources held by the object.
void dispose(void);
// BEGIN PUBLIC INTERFACE
// ----------------------
// Properties
// ----------------------
// Can be Ed25519 , Ed25519ph , or Ed25519ctx . The default is Ed25519 . This
// property was introduced in v9.5.0.91. Prior to this version, Ed25519 was the
// only EdDSA instance supported.
void get_Algorithm(CkString &str);
// Can be Ed25519 , Ed25519ph , or Ed25519ctx . The default is Ed25519 . This
// property was introduced in v9.5.0.91. Prior to this version, Ed25519 was the
// only EdDSA instance supported.
const wchar_t *algorithm(void);
// Can be Ed25519 , Ed25519ph , or Ed25519ctx . The default is Ed25519 . This
// property was introduced in v9.5.0.91. Prior to this version, Ed25519 was the
// only EdDSA instance supported.
void put_Algorithm(const wchar_t *newVal);
// The context bytes (in hex string format) to be used for Ed25519ctx or Ed25519ph.
void get_Context(CkString &str);
// The context bytes (in hex string format) to be used for Ed25519ctx or Ed25519ph.
const wchar_t *context(void);
// The context bytes (in hex string format) to be used for Ed25519ctx or Ed25519ph.
void put_Context(const wchar_t *newVal);
// ----------------------
// Methods
// ----------------------
// Generates an Ed25519 key. privKey is an output argument. The generated key is
// created in privKey.
bool GenEd25519Key(CkPrngW &prng, CkPrivateKeyW &privKey);
// Computes a shared secret given a private and public key. For example, Alice and
// Bob can compute the identical shared secret by doing the following: Alice sends
// Bob her public key, and Bob calls SharedSecretENC with his private key and
// Alice's public key. Bob sends Alice his public key, and Alice calls
// SharedSecretENC with her private key and Bob's public key. Both calls to
// SharedSecretENC will produce the same result. The resulting bytes are returned
// in encoded string form (hex, base64, etc) as specified by encoding.
bool SharedSecretENC(CkPrivateKeyW &privkey, CkPublicKeyW &pubkey, const wchar_t *encoding, CkString &outStr);
// Computes a shared secret given a private and public key. For example, Alice and
// Bob can compute the identical shared secret by doing the following: Alice sends
// Bob her public key, and Bob calls SharedSecretENC with his private key and
// Alice's public key. Bob sends Alice his public key, and Alice calls
// SharedSecretENC with her private key and Bob's public key. Both calls to
// SharedSecretENC will produce the same result. The resulting bytes are returned
// in encoded string form (hex, base64, etc) as specified by encoding.
const wchar_t *sharedSecretENC(CkPrivateKeyW &privkey, CkPublicKeyW &pubkey, const wchar_t *encoding);
// Signs the contents of bd and returns the signature according to encoding. The
// encoding can be any encoding supported by Chilkat, such as hex , base64 , etc.
bool SignBdENC(CkBinDataW &bd, const wchar_t *encoding, CkPrivateKeyW &privkey, CkString &outStr);
// Signs the contents of bd and returns the signature according to encoding. The
// encoding can be any encoding supported by Chilkat, such as hex , base64 , etc.
const wchar_t *signBdENC(CkBinDataW &bd, const wchar_t *encoding, CkPrivateKeyW &privkey);
// Verifies the signature against the contents of bd. The encodedSig is passed as an
// encoded string (such as hex, base64, etc.) using the encoding specified by enocding.
// The pubkey contains the Ed25519 public key used to verify.
bool VerifyBdENC(CkBinDataW &bd, const wchar_t *encodedSig, const wchar_t *enocding, CkPublicKeyW &pubkey);
// END PUBLIC INTERFACE
};
#if !defined(__sun__) && !defined(__sun)
#pragma pack (pop)
#endif
#endif