You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
////////////////////////////////////////////////////////////////////////////////// |
|
// Name: actX509SignReg.h |
|
// Product: cv act library |
|
// Purpose: registry for factory functions in actX509Kit.h |
|
// |
|
// Copyright: (c) 2000 cv cryptovision GmbH |
|
// all rights reserved |
|
// Licence: The conditions for the use of this software are regulated |
|
// in the cv act library licence agreement. |
|
////////////////////////////////////////////////////////////////////////////////// |
|
|
|
#ifndef ACT_X509SignReg_h |
|
#define ACT_X509SignReg_h |
|
|
|
namespace act |
|
{ |
|
class IKey; |
|
class Blob; |
|
|
|
typedef IKey* (*CreateKeyPtr)(); |
|
typedef void (*GetX509AlgIDPtr)(const IKey* key, Blob& algid); |
|
typedef void (*SetX509AlgIDPtr)(const Blob& algid, IKey* key); |
|
|
|
struct X509SignMapEntry { |
|
CreateKeyPtr CreatePtr; |
|
GetX509AlgIDPtr GetAlgID; |
|
SetX509AlgIDPtr SetAlgID; |
|
}; |
|
|
|
class X509SignReg |
|
{ |
|
public: |
|
static void GetAlgID(const IKey* key, Blob& algid); |
|
static void SetAlgID(const Blob& algid, IKey* key); |
|
|
|
static void Insert(CreateKeyPtr createptr, GetX509AlgIDPtr getalgid, SetX509AlgIDPtr setalgid ); |
|
static void Insert(const X509SignMapEntry* keymap); |
|
}; |
|
} |
|
#endif |
|
|
|
|