This class implements all supported public key crypto algorithms using the OpenSSL EVP_PKEY high level API.
More...
|
| SiPKEY (EVP_PKEY *key, OFBool owned) |
| constructor More...
|
|
virtual | ~SiPKEY () |
| destructor
|
|
virtual OFCondition | sign (const unsigned char *inputHash, unsigned long inputHashSize, E_MACType inputHashAlgorithm, unsigned char *outputSignature, unsigned long &outputSignatureSize) |
| creates a signature. More...
|
|
virtual OFCondition | verify (const unsigned char *inputHash, unsigned long inputHashSize, E_MACType inputHashAlgorithm, const unsigned char *inputSignature, unsigned long inputSignatureSize, OFBool &verified) |
| verifies a signature. More...
|
|
virtual unsigned long | getSize () const |
| returns the size of a block of encrypted/decrypted ciphertext in bytes. More...
|
|
virtual E_KeyType | keyType () const |
| returns the type of public key algorithm computed by this object More...
|
|
| SiAlgorithm () |
| default constructor
|
|
virtual | ~SiAlgorithm () |
| destructor
|
|
virtual OFCondition | sign (const unsigned char *inputHash, unsigned long inputHashSize, E_MACType inputHashAlgorithm, unsigned char *outputSignature, unsigned long &outputSignatureSize)=0 |
| creates a signature. More...
|
|
virtual OFCondition | verify (const unsigned char *inputHash, unsigned long inputHashSize, E_MACType inputHashAlgorithm, const unsigned char *inputSignature, unsigned long inputSignatureSize, OFBool &verified)=0 |
| verifies a signature. More...
|
|
virtual unsigned long | getSize () const =0 |
| returns the size of a block of encrypted/decrypted ciphertext in bytes. More...
|
|
virtual E_KeyType | keyType () const =0 |
| returns the type of public key algorithm computed by this object More...
|
|
|
| SiPKEY (SiPKEY &arg) |
| private undefined copy constructor
|
|
SiPKEY & | operator= (SiPKEY &arg) |
| private undefined copy assignment operator
|
|
|
EVP_PKEY * | signing_key |
| key used for signature/verification
|
|
OFBool | owned_ |
| indicates if the signing key object is owned by this instance.
|
|
This class implements all supported public key crypto algorithms using the OpenSSL EVP_PKEY high level API.
◆ SiPKEY()
SiPKEY::SiPKEY |
( |
EVP_PKEY * |
key, |
|
|
OFBool |
owned |
|
) |
| |
constructor
- Parameters
-
key | pointer to public or private key |
owned | if true, ownership of the key is transferred to the SiPKEY instance |
◆ getSize()
virtual unsigned long SiPKEY::getSize |
( |
| ) |
const |
|
virtual |
returns the size of a block of encrypted/decrypted ciphertext in bytes.
The result depends on the public key algorithm, key size and padding scheme. In general the input to decrypt() or encrypt() must be less than or equal to this block size. The output of decrypt() or encrypt() is always equal to this block size.
- Returns
- block size for this public key cryptosystem and key
Implements SiAlgorithm.
◆ keyType()
returns the type of public key algorithm computed by this object
- Returns
- type of public key algorithm
Implements SiAlgorithm.
◆ sign()
virtual OFCondition SiPKEY::sign |
( |
const unsigned char * |
inputHash, |
|
|
unsigned long |
inputHashSize, |
|
|
E_MACType |
inputHashAlgorithm, |
|
|
unsigned char * |
outputSignature, |
|
|
unsigned long & |
outputSignatureSize |
|
) |
| |
|
virtual |
creates a signature.
- Parameters
-
inputHash | array of hash key bytes that are to be signed |
inputHashSize | length of hash key array in bytes |
inputHashAlgorithm | MAC algorithm used for creation of hash key. Required for creation of PKCS#1 RSA signature padding. |
outputSignature | pointer to array of at least getSize() which must be allocated by caller. |
outputSignatureSize | returns the number of bytes written to outputSignature. |
- Returns
- SI_EC_Normal if successful, errorcode otherwise.
Implements SiAlgorithm.
◆ verify()
virtual OFCondition SiPKEY::verify |
( |
const unsigned char * |
inputHash, |
|
|
unsigned long |
inputHashSize, |
|
|
E_MACType |
inputHashAlgorithm, |
|
|
const unsigned char * |
inputSignature, |
|
|
unsigned long |
inputSignatureSize, |
|
|
OFBool & |
verified |
|
) |
| |
|
virtual |
verifies a signature.
- Parameters
-
inputHash | array of bytes containing hash key to be verified against signature |
inputHashSize | length of hash key array in bytes |
inputHashAlgorithm | MAC algorithm used for creation of hash key. Required for creation of PKCS#1 RSA signature padding. |
inputSignature | array of bytes containing signature to be verified |
inputSignatureSize | length of signature array in bytes |
verified | returns whether the signature was successfully verified |
- Returns
- SI_EC_Normal if successful, errorcode otherwise.
Implements SiAlgorithm.
The documentation for this class was generated from the following file:
- dcmsign/include/dcmtk/dcmsign/sipkey.h