Sample code for 30+ languages & platforms
PureBasic

Example: Crypt2.SetSigningCert method

Demonstrates how to call the SetSigningCert method.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkCrypt2.pb"
IncludeFile "CkCert.pb"

Procedure ChilkatExample()

    success.i = 0

    ; Signing certificates can be obtained from many different sources..

    ; Load from a PFX
    cryptA.i = CkCrypt2::ckCreate()
    If cryptA.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

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

    success = CkCert::ckLoadPfxFile(certA,"c:/someDir/pfx_files/a.pfx","pfx_file_password")
    success = CkCrypt2::ckSetSigningCert(cryptA,certA)
    ; ...

    ; Load from a smart card or USB token.
    cryptB.i = CkCrypt2::ckCreate()
    If cryptB.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

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

    CkCert::setCkSmartCardPin(certB, "123456")
    success = CkCert::ckLoadFromSmartcard(certB,"")
    success = CkCrypt2::ckSetSigningCert(cryptB,certB)
    ; ...

    ; Load from a the Windows certificate store or macOS keychain
    cryptC.i = CkCrypt2::ckCreate()
    If cryptC.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

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

    success = CkCert::ckLoadByCommonName(certC,"Xyz 123")
    success = CkCrypt2::ckSetSigningCert(cryptC,certC)
    ; ...


    CkCrypt2::ckDispose(cryptA)
    CkCert::ckDispose(certA)
    CkCrypt2::ckDispose(cryptB)
    CkCert::ckDispose(certB)
    CkCrypt2::ckDispose(cryptC)
    CkCert::ckDispose(certC)


    ProcedureReturn
EndProcedure