PureBasic
PureBasic
Load Certificate (.cer) and Private Key (.pvk) generated from makecert
See more Certificates Examples
Demonstrates how to load a certificate (.cer) and private key (.pvk) from the files produced by makecert, such as in the following command:makecert -sv mycertificate.pvk -n "CN=My Simple Certificate" mycertificate.cer -sky Exchange
Chilkat PureBasic Downloads
IncludeFile "CkCert.pb"
IncludeFile "CkPrivateKey.pb"
IncludeFile "CkPdf.pb"
Procedure ChilkatExample()
success.i = 0
; First load the .cer file.
; The certificate file (.cer) contains only the certificate (does not include the private key)
cert.i = CkCert::ckCreate()
If cert.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkCert::ckLoadFromFile(cert,"qa_data/certs_and_keys/makecert/mycertificate.cer")
If success = 0
Debug CkCert::ckLastErrorText(cert)
CkCert::ckDispose(cert)
ProcedureReturn
EndIf
; Next, load the .pvk file.
; Note: The password "secret" is what you entered when makecert displayed the dialog asking for a password..
privKey.i = CkPrivateKey::ckCreate()
If privKey.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkPrivateKey::ckLoadPvkFile(privKey,"qa_data/certs_and_keys/makecert/mycertificate.pvk","secret")
If success = 0
Debug CkPrivateKey::ckLastErrorText(privKey)
CkCert::ckDispose(cert)
CkPrivateKey::ckDispose(privKey)
ProcedureReturn
EndIf
; Finally, associate the private key with the certificate.
success = CkCert::ckSetPrivateKey(cert,privKey)
If success = 0
Debug CkCert::ckLastErrorText(cert)
CkCert::ckDispose(cert)
CkPrivateKey::ckDispose(privKey)
ProcedureReturn
EndIf
; At this point, the certificate can be used for signing. For example..
pdf.i = CkPdf::ckCreate()
If pdf.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; ....
; ....
success = CkPdf::ckSetSigningCert(pdf,cert)
; ...
; ....
; Some Chilkat classes also provide a method where the cert and private key can be passed separately.
; For example, if SetSigningCert2 is called, then we don't need to explicitly associate the private key with the cert.
success = CkPdf::ckSetSigningCert2(pdf,cert,privKey)
; ...
; ....
CkCert::ckDispose(cert)
CkPrivateKey::ckDispose(privKey)
CkPdf::ckDispose(pdf)
ProcedureReturn
EndProcedure