Sample code for 30+ languages & platforms
PureBasic

Import a Certificate (.cer file) into a Windows Certificate Store

See more Certificates Examples

Demonstrates how to import a certificate (without private key) into a Windows certificate store.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkCertStore.pb"
IncludeFile "CkCert.pb"

Procedure ChilkatExample()

    success.i = 0

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

    success = CkCert::ckLoadFromFile(cert,"qa_data/certs/example.cer")
    If success = 0
        Debug CkCert::ckLastErrorText(cert)
        CkCert::ckDispose(cert)
        ProcedureReturn
    EndIf

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

    readOnlyFlag.i = 0

    ; "CurrentUser" and "My" are the exact keywords to select your user account's certificate store.
    success = CkCertStore::ckOpenWindowsStore(certStoreCU,"CurrentUser","My",readOnlyFlag)
    If success = 0
        Debug "Failed to open the CurrentUser/My certificate store for read/write."
        CkCert::ckDispose(cert)
        CkCertStore::ckDispose(certStoreCU)
        ProcedureReturn
    EndIf

    ; Import the certificate into the CurrentUser/My certificate store.
    success = CkCertStore::ckAddCertificate(certStoreCU,cert)
    If success = 0
        Debug CkCertStore::ckLastErrorText(certStoreCU)
        CkCert::ckDispose(cert)
        CkCertStore::ckDispose(certStoreCU)
        ProcedureReturn
    EndIf

    Debug "Imported " + CkCert::ckSubjectCN(cert)
    Debug "Success."


    CkCert::ckDispose(cert)
    CkCertStore::ckDispose(certStoreCU)


    ProcedureReturn
EndProcedure