PrivateKey C Library Reference
PrivateKey
* This is a freeware class/C library/library.
Represents an RSA private key. Provides methods for importing and exporting to/from PEM, DER, PKCS8, PVK, and XML formats. Private keys can be imported/exported to both memory and files.
Create/Dispose
HCkPrivateKey CkPrivateKey_Create(void);
Creates an instance of the CkPrivateKey object and returns a handle (i.e. a "void *" pointer). The handle is passed in the 1st argument for the functions listed on this page.
void CkPrivateKey_Dispose(HCkPrivateKey handle);
Objects created by calling CkPrivateKey_Create must be freed by calling this method. A memory leak occurs if a handle is not disposed by calling this function.
C "Properties"
void CkPrivateKey_getLastErrorHtml(HCkPrivateKey handle, HCkString retval);
Error information in HTML format for the last method called.
void CkPrivateKey_getLastErrorText(HCkPrivateKey handle, HCkString retval);
Error information in plain-text format for the last method called.
void CkPrivateKey_getLastErrorXml(HCkPrivateKey handle, HCkString retval);
Error information in XML format for the last method called.
BOOL CkPrivateKey_getUtf8(HCkPrivateKey handle); void CkPrivateKey_putUtf8(HCkPrivateKey handle, BOOL newVal);
When set to true, all "const char *" arguments are expected to be utf-8 strings. If set to false, the "const char *" arguments are expected to be ANSI strings.
C "Methods"
BOOL CkPrivateKey_GetPkcs8(HCkPrivateKey handle, HCkByteData data);
Gets the private key in PKCS8 format.
BOOL CkPrivateKey_GetPkcs8Encrypted(HCkPrivateKey handle, const char *password, HCkByteData outBytes);
Writes the private key to password-protected PKCS8 format.
BOOL CkPrivateKey_GetPkcs8EncryptedPem(HCkPrivateKey handle, const char *password, HCkString outStr);
Writes the private key to password-protected PKCS8 PEM format.
BOOL CkPrivateKey_GetPkcs8Pem(HCkPrivateKey handle, HCkString str);
Gets the private key in PKCS8 PEM format.
BOOL CkPrivateKey_GetRsaDer(HCkPrivateKey handle, HCkByteData data);
Gets the private key in RSA DER format.
BOOL CkPrivateKey_GetRsaPem(HCkPrivateKey handle, HCkString str);
Gets the private key in RSA PEM format.
BOOL CkPrivateKey_GetXml(HCkPrivateKey handle, HCkString str);
Returns the private key in XML format. The private key is returned unencrypted and the parts are base64 encoded. The XML has this structure:
<RSAKeyValue>
<Modulus>...</Modulus>
<Exponent>...</Exponent>
<P>...</P>
<Q>...</Q>
<DP>...</DP>
<DQ>...</DQ>
<InverseQ>...</InverseQ>
<D>...</D>
</RSAKeyValue>
BOOL CkPrivateKey_LoadEncryptedPem(HCkPrivateKey handle, const char *pemStr, const char *password);
Loads the private key from an in-memory encrypted PEM string. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_LoadEncryptedPemFile(HCkPrivateKey handle, const char *filename, const char *password);
Loads a private key from an encrypted PEM file. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_LoadPem(HCkPrivateKey handle, const char *str);
Loads the private key from an in-memory PEM string. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_LoadPemFile(HCkPrivateKey handle, const char *filename);
Loads a private key from a PEM file. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_LoadPkcs8(HCkPrivateKey handle, HCkByteData data);
Loads a private key from in-memory PKCS8 byte data. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_LoadPkcs8Encrypted(HCkPrivateKey handle, HCkByteData data, const char *password);
Loads a private key from in-memory password-protected PKCS8 byte data. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_LoadPkcs8EncryptedFile(HCkPrivateKey handle, const char *filename, const char *password);
Loads a private key from a password-protected PKCS8 file. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_LoadPkcs8File(HCkPrivateKey handle, const char *filename);
Loads a private key from a PKCS8 file. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_LoadPvk(HCkPrivateKey handle, HCkByteData data, const char *password);
Loads a private key from in-memory PVK byte data. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_LoadPvkFile(HCkPrivateKey handle, const char *filename, const char *password);
Loads a private key from a PVK format file. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_LoadRsaDer(HCkPrivateKey handle, HCkByteData data);
Loads a private key from in-memory RSA DER byte data. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_LoadRsaDerFile(HCkPrivateKey handle, const char *filename);
Loads a private key from an RSA DER format file. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_LoadXml(HCkPrivateKey handle, const char *xml);
Loads a private key from an in-memory XML string. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_LoadXmlFile(HCkPrivateKey handle, const char *filename);
Loads a private key from an XML file. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_SaveLastError(HCkPrivateKey handle, const char *filename);
Saves the last error information to an XML formatted file.
BOOL CkPrivateKey_SavePkcs8EncryptedFile(HCkPrivateKey handle, const char *password, const char *filename);
Saves the private key to a password-protected PKCS8 format file. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_SavePkcs8EncryptedPemFile(HCkPrivateKey handle, const char *password, const char *filename);
Saves the private key to a password-protected PKCS8 PEM format file. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_SavePkcs8File(HCkPrivateKey handle, const char *filename);
Saves the private key to a PKCS8 format file. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_SavePkcs8PemFile(HCkPrivateKey handle, const char *filename);
Saves the private key to a PKCS8 PEM format file. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_SaveRsaDerFile(HCkPrivateKey handle, const char *filename);
Saves the private key to a RSA DER format file. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_SaveRsaPemFile(HCkPrivateKey handle, const char *filename);
Saves the private key to a RSA PEM format file. Returns TRUE for success, FALSE for failure.
BOOL CkPrivateKey_SaveXmlFile(HCkPrivateKey handle, const char *filename);
Saves the private key to an XML file. Returns TRUE for success, FALSE for failure.
const char *CkPrivateKey_getPkcs8EncryptedPem(HCkPrivateKey handle, const char *password);
Writes the private key to password-protected PKCS8 PEM format.
const char *CkPrivateKey_getPkcs8Pem(HCkPrivateKey handle);
Gets the private key in PKCS8 PEM format.
const char *CkPrivateKey_getRsaPem(HCkPrivateKey handle);
Gets the private key in RSA PEM format.
const char *CkPrivateKey_getXml(HCkPrivateKey handle);
Returns the private key in XML format. The private key is returned unencrypted and the parts are base64 encoded. The XML has this structure:
<RSAKeyValue>
<Modulus>...</Modulus>
<Exponent>...</Exponent>
<P>...</P>
<Q>...</Q>
<DP>...</DP>
<DQ>...</DQ>
<InverseQ>...</InverseQ>
<D>...</D>
</RSAKeyValue>
const char *CkPrivateKey_lastErrorHtml(HCkPrivateKey handle);
Error information in HTML format for the last method called.
const char *CkPrivateKey_lastErrorText(HCkPrivateKey handle);
Error information in plain-text format for the last method called.
const char *CkPrivateKey_lastErrorXml(HCkPrivateKey handle);
Error information in XML format for the last method called.
|