Sample code for 30+ languages & platforms
PureBasic

Transition from Cert.ExportPrivateKey to Cert.GetPrivateKey

Provides instructions for replacing deprecated ExportPrivateKey method calls with GetPrivateKey.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkPrivateKey.pb"
IncludeFile "CkCert.pb"

Procedure ChilkatExample()

    success.i = 0

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

    ; ------------------------------------------------------------------------
    ; The ExportPrivateKey method is deprecated:

    privatekeyObj.i = CkCert::ckExportPrivateKey(cert)
    If CkCert::ckLastMethodSuccess(cert) = 0
        Debug CkCert::ckLastErrorText(cert)
        CkCert::ckDispose(cert)
        ProcedureReturn
    EndIf

    ; ...
    ; ...

    CkPrivateKey::ckDispose(privatekeyObj)

    ; ------------------------------------------------------------------------
    ; Do the equivalent using GetPrivateKey.
    ; Your application creates a new, empty PrivateKey object which is passed 
    ; in the last argument and filled upon success.

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

    success = CkCert::ckGetPrivateKey(cert,privatekeyOut)
    If success = 0
        Debug CkCert::ckLastErrorText(cert)
        CkCert::ckDispose(cert)
        CkPrivateKey::ckDispose(privatekeyOut)
        ProcedureReturn
    EndIf



    CkCert::ckDispose(cert)
    CkPrivateKey::ckDispose(privatekeyOut)


    ProcedureReturn
EndProcedure