PureBasic
PureBasic
Example: Crypt2.ClearSigningCerts method
Demonstrates how to call the ClearSigningCerts method.Chilkat PureBasic Downloads
IncludeFile "CkBinData.pb"
IncludeFile "CkCert.pb"
IncludeFile "CkCrypt2.pb"
Procedure ChilkatExample()
success.i = 0
crypt.i = CkCrypt2::ckCreate()
If crypt.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = 0
; Tell the crypt object to use 3 certificates.
; Do this by calling AddSigningCert for each certificate.
cert1.i = CkCert::ckCreate()
If cert1.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; ...
; Load the cert from a source such as a .pfx/.p12 file, smart card, USB token, Apple keychain, Windows certificate store, etc.
; ...
CkCrypt2::ckAddSigningCert(crypt,cert1)
cert2.i = CkCert::ckCreate()
If cert2.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; ...
CkCrypt2::ckAddSigningCert(crypt,cert2)
cert3.i = CkCert::ckCreate()
If cert3.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; ...
CkCrypt2::ckAddSigningCert(crypt,cert3)
bd.i = CkBinData::ckCreate()
If bd.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; ...
success = CkCrypt2::ckOpaqueSignBd(crypt,bd)
; Let's say we now want to sign something else with different certs..
; First clear the signing certs.
CkCrypt2::ckClearSigningCerts(crypt)
cert4.i = CkCert::ckCreate()
If cert4.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; ...
CkCrypt2::ckAddSigningCert(crypt,cert4)
cert5.i = CkCert::ckCreate()
If cert5.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; ...
CkCrypt2::ckAddSigningCert(crypt,cert5)
; ...
; ...
; Sign using cert4 and cert5.
success = CkCrypt2::ckOpaqueSignBd(crypt,bd)
CkCrypt2::ckDispose(crypt)
CkCert::ckDispose(cert1)
CkCert::ckDispose(cert2)
CkCert::ckDispose(cert3)
CkBinData::ckDispose(bd)
CkCert::ckDispose(cert4)
CkCert::ckDispose(cert5)
ProcedureReturn
EndProcedure