-
Notifications
You must be signed in to change notification settings - Fork 113
API XMLSec Core Keys
API Group: xmlsec_core_keys
Key objects and key management.
Crypto key object functions.
Defined as: 0x00000001
Source: include/xmlsec/keys.h
Key for signing.
Defined as: 0x00000002
Source: include/xmlsec/keys.h
Key for signature verification.
Defined as: 0x00000004
Source: include/xmlsec/keys.h
An encryption key.
Defined as: 0x00000008
Source: include/xmlsec/keys.h
A decryption key.
Defined as: 0x00000010
Source: include/xmlsec/keys.h
Deprecated. The key is used for key exchange.
Defined as: 0x00000020
Source: include/xmlsec/keys.h
The key is used for key derivation.
Defined as: 0x00000040
Source: include/xmlsec/keys.h
The key is used for key agreement.
Defined as: 0xFFFFFFFF
Source: include/xmlsec/keys.h
Key can be used in any way.
Defined as: xmlSecKeyUseWithPtrListGetKlass()
Source: include/xmlsec/keys.h
The keys list klass.
Defined as: ((( key ) != NULL) && \ (( key )->value != NULL) && \ ((( key )->value->id) != NULL))
Source: include/xmlsec/keys.h
Macro. Returns 1 if key is valid.
Macro. Returns 1 if key is not NULL and key->id is not NULL or 0 otherwise.
Parameters:
-
key— the pointer to key.
Defined as: (xmlSecKeyIsValid(( key )) && \ ((( key )->value->id) == ( keyId )))
Source: include/xmlsec/keys.h
Macro. Returns 1 if key's id equals keyId.
Macro. Returns 1 if key is valid and key's id is equal to keyId.
Parameters:
-
key— the pointer to key. -
keyId— the key Id.
Defined as: xmlSecKeyPtrListGetKlass()
Source: include/xmlsec/keys.h
The keys list klass.
typedef unsigned int xmlSecKeyUsage;Source: include/xmlsec/keys.h
The key usage.
int xmlSecKeyUseWithInitialize(xmlSecKeyUseWithPtr keyUseWith);Source: include/xmlsec/keys.h
Initializes keyUseWith object.
Parameters:
-
keyUseWith— the pointer to information about key application/user.
Returns: 0 on success or a negative value if an error occurs.
void xmlSecKeyUseWithFinalize(xmlSecKeyUseWithPtr keyUseWith);Source: include/xmlsec/keys.h
Finalizes keyUseWith object.
Parameters:
-
keyUseWith— the pointer to information about key application/user.
void xmlSecKeyUseWithReset(xmlSecKeyUseWithPtr keyUseWith);Source: include/xmlsec/keys.h
Resets a keyUseWith to its initial state.
Resets the keyUseWith to its state after initialization.
Parameters:
-
keyUseWith— the pointer to information about key application/user.
int xmlSecKeyUseWithCopy(xmlSecKeyUseWithPtr dst, xmlSecKeyUseWithPtr src);Source: include/xmlsec/keys.h
Copies information from dst to src.
Parameters:
-
dst— the pointer to destination object. -
src— the pointer to source object.
Returns: 0 on success or a negative value if an error occurs.
xmlSecKeyUseWithPtr xmlSecKeyUseWithCreate(const xmlChar *application, const xmlChar *identifier);Source: include/xmlsec/keys.h
Creates a new xmlSecKeyUseWith object.
Creates new xmlSecKeyUseWith object. The caller is responsible for destroying returned object with xmlSecKeyUseWithDestroy function.
Parameters:
-
application— the application value. -
identifier— the identifier value.
Returns: pointer to newly created object or NULL if an error occurs.
xmlSecKeyUseWithPtr xmlSecKeyUseWithDuplicate(xmlSecKeyUseWithPtr keyUseWith);Source: include/xmlsec/keys.h
Duplicates a keyUseWith object.
Duplicates keyUseWith object. The caller is responsible for destroying returned object with xmlSecKeyUseWithDestroy function.
Parameters:
-
keyUseWith— the pointer to information about key application/user.
Returns: pointer to newly created object or NULL if an error occurs.
void xmlSecKeyUseWithDestroy(xmlSecKeyUseWithPtr keyUseWith);Source: include/xmlsec/keys.h
Destroys a keyUseWith object.
Destroys keyUseWith created with xmlSecKeyUseWithCreate or xmlSecKeyUseWithDuplicate functions.
Parameters:
-
keyUseWith— the pointer to information about key application/user.
int xmlSecKeyUseWithSet(xmlSecKeyUseWithPtr keyUseWith, const xmlChar *application, const xmlChar *identifier);Source: include/xmlsec/keys.h
Sets application and identifier in a keyUseWith object.
Sets application and identifier in the keyUseWith.
Parameters:
-
keyUseWith— the pointer to information about key application/user. -
application— the new application value. -
identifier— the new identifier value.
Returns: 0 on success or a negative value if an error occurs.
void xmlSecKeyUseWithDebugDump(xmlSecKeyUseWithPtr keyUseWith, FILE *output);Source: include/xmlsec/keys.h
Prints keyUseWith debug information to a file.
Prints xmlSecKeyUseWith debug information to a file output.
Parameters:
-
keyUseWith— the pointer to information about key application/user. -
output— the pointer to output FILE.
void xmlSecKeyUseWithDebugXmlDump(xmlSecKeyUseWithPtr keyUseWith, FILE *output);Source: include/xmlsec/keys.h
Prints keyUseWith debug information in XML format.
Prints xmlSecKeyUseWith debug information to a file output in XML format.
Parameters:
-
keyUseWith— the pointer to information about key application/user. -
output— the pointer to output FILE.
xmlSecPtrListId xmlSecKeyUseWithPtrListGetKlass(void);Source: include/xmlsec/keys.h
The key data list klass.
Returns: pointer to the key data list klass.
int xmlSecKeyReqInitialize(xmlSecKeyReqPtr keyReq);Source: include/xmlsec/keys.h
Initializes a key requirements object.
Initialize key requirements object. Caller is responsible for cleaning it with xmlSecKeyReqFinalize function.
Parameters:
-
keyReq— the pointer to key requirements object.
Returns: 0 on success or a negative value if an error occurs.
void xmlSecKeyReqFinalize(xmlSecKeyReqPtr keyReq);Source: include/xmlsec/keys.h
Cleans up a key requirements object.
Cleans the key requirements object initialized with xmlSecKeyReqInitialize function.
Parameters:
-
keyReq— the pointer to key requirements object.
void xmlSecKeyReqReset(xmlSecKeyReqPtr keyReq);Source: include/xmlsec/keys.h
Resets key requirements for a new key search.
Resets key requirements object for new key search.
Parameters:
-
keyReq— the pointer to key requirements object.
int xmlSecKeyReqCopy(xmlSecKeyReqPtr dst, xmlSecKeyReqPtr src);Source: include/xmlsec/keys.h
Copies key requirements between objects.
Copies key requirements from src object to dst object.
Parameters:
-
dst— the pointer to destination object. -
src— the pointer to source object.
Returns: 0 on success and a negative value if an error occurs.
int xmlSecKeyReqMatchKey(xmlSecKeyReqPtr keyReq, xmlSecKeyPtr key);Source: include/xmlsec/keys.h
Checks whether a key matches the given requirements.
Checks whether key matches key requirements keyReq.
Parameters:
-
keyReq— the pointer to key requirements object. -
key— the pointer to key.
Returns: 1 if key matches requirements, 0 if not and a negative value if an error occurs.
int xmlSecKeyReqMatchKeyValue(xmlSecKeyReqPtr keyReq, xmlSecKeyDataPtr value);Source: include/xmlsec/keys.h
Checks whether a key value matches the given requirements.
Checks whether keyValue matches key requirements keyReq.
Parameters:
-
keyReq— the pointer to key requirements. -
value— the pointer to key value.
Returns: 1 if key value matches requirements, 0 if not and a negative value if an error occurs.
void xmlSecKeyReqDebugDump(xmlSecKeyReqPtr keyReq, FILE *output);Source: include/xmlsec/keys.h
Prints key requirements debug information.
Prints debug information about keyReq into output.
Parameters:
-
keyReq— the pointer to key requirements object. -
output— the pointer to output FILE.
void xmlSecKeyReqDebugXmlDump(xmlSecKeyReqPtr keyReq, FILE *output);Source: include/xmlsec/keys.h
Prints key requirements debug information in XML format.
Prints debug information about keyReq into output in XML format.
Parameters:
-
keyReq— the pointer to key requirements object. -
output— the pointer to output FILE.
xmlSecKeyPtr xmlSecKeyCreate(void);Source: include/xmlsec/keys.h
Allocates and initializes a new key object.
Allocates and initializes new key. Caller is responsible for freeing returned object with xmlSecKeyDestroy function.
Returns: the pointer to newly allocated xmlSecKey structure or NULL if an error occurs.
void xmlSecKeyDestroy(xmlSecKeyPtr key);Source: include/xmlsec/keys.h
Destroys a key object.
Destroys the key created using xmlSecKeyCreate function.
Parameters:
-
key— the pointer to key.
void xmlSecKeyEmpty(xmlSecKeyPtr key);Source: include/xmlsec/keys.h
Clears the key data.
Parameters:
-
key— the pointer to key.
xmlSecKeyPtr xmlSecKeyDuplicate(xmlSecKeyPtr key);Source: include/xmlsec/keys.h
Creates a duplicate of the given key.
Parameters:
-
key— the pointer to the xmlSecKey structure.
Returns: the pointer to newly allocated xmlSecKey structure or NULL if an error occurs.
int xmlSecKeyCopy(xmlSecKeyPtr keyDst, xmlSecKeyPtr keySrc);Source: include/xmlsec/keys.h
Copies key data from keySrc to keyDst.
Parameters:
-
keyDst— the destination key. -
keySrc— the source key.
Returns: 0 on success or a negative value if an error occurs.
int xmlSecKeySwap(xmlSecKeyPtr key1, xmlSecKeyPtr key2);Source: include/xmlsec/keys.h
Swaps key data for key1 and::key2.
Parameters:
-
key1— the first key. -
key2— the second key.
Returns: 0 on success or a negative value if an error occurs.
const xmlChar * xmlSecKeyGetName(xmlSecKeyPtr key);Source: include/xmlsec/keys.h
Gets the key name.
Gets key name (see also xmlSecKeySetName function).
Parameters:
-
key— the pointer to key.
Returns: key name.
int xmlSecKeySetName(xmlSecKeyPtr key, const xmlChar *name);Source: include/xmlsec/keys.h
Sets the key name.
Sets key name (see also xmlSecKeyGetName function).
Parameters:
-
key— the pointer to key. -
name— the new key name.
Returns: 0 on success or a negative value if an error occurs.
int xmlSecKeySetNameEx(xmlSecKeyPtr key, const xmlChar *name, xmlSecSize nameSize);Source: include/xmlsec/keys.h
Sets the key name with a specific length.
Sets key name (see also xmlSecKeyGetName function).
Parameters:
-
key— the pointer to key. -
name— the new key name. -
nameSize— the size ofname.
Returns: 0 on success or a negative value if an error occurs.
xmlSecKeyDataType xmlSecKeyGetType(xmlSecKeyPtr key);Source: include/xmlsec/keys.h
Gets key type.
Parameters:
-
key— the pointer to key.
Returns: key type.
xmlSecKeyDataPtr xmlSecKeyGetValue(xmlSecKeyPtr key);Source: include/xmlsec/keys.h
Gets the key value (crypto material).
Gets key value (see also xmlSecKeySetValue function).
Parameters:
-
key— the pointer to key.
Returns: key value (crypto material).
int xmlSecKeySetValue(xmlSecKeyPtr key, xmlSecKeyDataPtr value);Source: include/xmlsec/keys.h
Sets the key value (crypto material).
Sets key value (see also xmlSecKeyGetValue function).
Parameters:
-
key— the pointer to key. -
value— the new value.
Returns: 0 on success or a negative value if an error occurs.
xmlSecSize xmlSecKeyGetSize(xmlSecKeyPtr key);Source: include/xmlsec/keys.h
Gets the key size in bits.
Gets key size (in bits). Also see xmlSecKeyDataGetSize function.
Parameters:
-
key— the pointer to key.
Returns: key size (in bits).
xmlSecKeyDataPtr xmlSecKeyGetData(xmlSecKeyPtr key, xmlSecKeyDataId dataId);Source: include/xmlsec/keys.h
Gets key's data.
Parameters:
-
key— the pointer to key. -
dataId— the requested data klass.
Returns: additional data associated with the key (see also xmlSecKeyAdoptData function).
xmlSecKeyDataPtr xmlSecKeyEnsureData(xmlSecKeyPtr key, xmlSecKeyDataId dataId);Source: include/xmlsec/keys.h
Ensures key data of the requested klass exists.
If necessary, creates key data of dataId klass and adds to key.
Parameters:
-
key— the pointer to key. -
dataId— the requested data klass.
Returns: pointer to key data or NULL if an error occurs.
int xmlSecKeyAdoptData(xmlSecKeyPtr key, xmlSecKeyDataPtr data);Source: include/xmlsec/keys.h
Adds key data to a key object (takes ownership).
Adds data to the key. The data object will be destroyed by key.
Parameters:
-
key— the pointer to key. -
data— the pointer to key data.
Returns: 0 on success or a negative value otherwise.
void xmlSecKeyDebugDump(xmlSecKeyPtr key, FILE *output);Source: include/xmlsec/keys.h
Prints key information for debugging.
Prints the information about the key to the output.
Parameters:
-
key— the pointer to key. -
output— the pointer to output FILE.
void xmlSecKeyDebugXmlDump(xmlSecKeyPtr key, FILE *output);Source: include/xmlsec/keys.h
Prints key information in XML format for debugging.
Prints the information about the key to the output in XML format.
Parameters:
-
key— the pointer to key. -
output— the pointer to output FILE.
xmlSecKeyPtr xmlSecKeyGenerate(xmlSecKeyDataId dataId, xmlSecSize sizeBits, xmlSecKeyDataType type);Source: include/xmlsec/keys.h
Generates a new key of the requested klass and type.
Generates new key of requested klass dataId and type.
Parameters:
-
dataId— the requested key klass (rsa, dsa, aes, ...). -
sizeBits— the new key size (in bits!). -
type— the new key type (session, permanent, ...).
Returns: pointer to newly created key or NULL if an error occurs.
xmlSecKeyPtr xmlSecKeyGenerateByName(const xmlChar *name, xmlSecSize sizeBits, xmlSecKeyDataType type);Source: include/xmlsec/keys.h
Generates a new key by klass name and type.
Generates new key of requested klass and type.
Parameters:
-
name— the requested key klass name (rsa, dsa, aes, ...). -
sizeBits— the new key size (in bits!). -
type— the new key type (session, permanent, ...).
Returns: pointer to newly created key or NULL if an error occurs.
int xmlSecKeyMatch(xmlSecKeyPtr key, const xmlChar *name, xmlSecKeyReqPtr keyReq);Source: include/xmlsec/keys.h
Checks whether a key matches the given criteria.
Checks whether the key matches the given criteria.
Parameters:
-
key— the pointer to key. -
name— the pointer to key name (may be NULL). -
keyReq— the pointer to key requirements.
Returns: 1 if the key satisfies the given criteria or 0 otherwise.
xmlSecKeyPtr xmlSecKeyReadBuffer(xmlSecKeyDataId dataId, xmlSecBuffer *buffer);Source: include/xmlsec/keys.h
Reads a key value from a buffer.
Reads the key value of klass dataId from a buffer.
Parameters:
-
dataId— the key value data klass. -
buffer— the buffer that contains the binary data.
Returns: pointer to newly created key or NULL if an error occurs.
xmlSecKeyPtr xmlSecKeyReadBinaryFile(xmlSecKeyDataId dataId, const char *filename);Source: include/xmlsec/keys.h
Reads a key value from a binary file.
Reads the key value of klass dataId from a binary file filename.
Parameters:
-
dataId— the key value data klass. -
filename— the key binary filename.
Returns: pointer to newly created key or NULL if an error occurs.
xmlSecKeyPtr xmlSecKeyReadMemory(xmlSecKeyDataId dataId, const xmlSecByte *data, xmlSecSize dataSize);Source: include/xmlsec/keys.h
Reads a key value from a memory block.
Reads the key value of klass dataId from a memory block data.
Parameters:
-
dataId— the key value data klass. -
data— the memory containing the key -
dataSize— the size of the memory block
Returns: pointer to newly created key or NULL if an error occurs.
xmlSecPtrListId xmlSecKeyPtrListGetKlass(void);Source: include/xmlsec/keys.h
The keys list klass.
Returns: keys list id.