Sample code for 30+ languages & platforms
PureBasic

DSA Get Key as XML

Gets the DSA key in XML format.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkDsa.pb"

Procedure ChilkatExample()

    success.i = 0

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

    dsa.i = CkDsa::ckCreate()
    If dsa.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; Generate a new 2048 bit DSA key.
    success = CkDsa::ckGenKey(dsa,2048)
    If success <> 1
        Debug CkDsa::ckLastErrorText(dsa)
        CkDsa::ckDispose(dsa)
        ProcedureReturn
    EndIf

    ; Get the public key as XML
    bPublicOnly.i = 1
    xmlStr.s = CkDsa::ckToXml(dsa,bPublicOnly)
    Debug 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 = 0
    xmlStr = CkDsa::ckToXml(dsa,bPublicOnly)

    Debug 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>


    CkDsa::ckDispose(dsa)


    ProcedureReturn
EndProcedure