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);

    }