Sample code for 30+ languages & platforms
Unicode C

DSA Get Key as XML

Gets the DSA key in XML format.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkDsaW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkDsaW dsa;
    BOOL bPublicOnly;
    const wchar_t *xmlStr;

    success = FALSE;

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    dsa = CkDsaW_Create();

    // Generate a new 2048 bit DSA key.
    success = CkDsaW_GenKey(dsa,2048);
    if (success != TRUE) {
        wprintf(L"%s\n",CkDsaW_lastErrorText(dsa));
        CkDsaW_Dispose(dsa);
        return;
    }

    // Get the public key as XML
    bPublicOnly = TRUE;
    xmlStr = CkDsaW_toXml(dsa,bPublicOnly);
    wprintf(L"%s\n",xmlStr);

    // Sample output.

    // <DSAKeyValue>
    // 	<P>wBYOKu...2eoXw==</P>
    // 	<Q>1taJI7...kV2/9c=</Q>
    // 	<G>qjfbTi...eB1+g==</G>
    // 	<Y>t3tz...NqjsPEg==</Y>
    // </DSAKeyValue>

    // Get the private key as XML.
    bPublicOnly = FALSE;
    xmlStr = CkDsaW_toXml(dsa,bPublicOnly);

    wprintf(L"%s\n",xmlStr);

    // Sample output.

    // <DSAKeyValue>
    // 	<P>wBYOKu...2eoXw==</P>
    // 	<Q>1taJI7...kV2/9c=</Q>
    // 	<G>qjfbTi...eB1+g==</G>
    // 	<Y>t3tz...NqjsPEg==</Y>
    // 	<X>lm9F...XzuVO+qU=</X>
    // </DSAKeyValue>


    CkDsaW_Dispose(dsa);

    }