Sample code for 30+ languages & platforms
B4X Requires Chilkat v10.1.2+

Create PKCS7 Signed File (.p7m)

See more Encryption Examples

Demonstrates how to sign a file to create a .p7m that contains both the file contents and the signature.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  This example requires the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim crypt As ChilkatCrypt2
crypt.Initialize("crypt")

Dim certStore As ChilkatCertStore
certStore.Initialize

'  Load a PFX file into a certificate store object.
success = certStore.LoadPfxFile("myPfx.pfx", "pfxPassword")
If success <> True Then
    Log(certStore.LastErrorText)
    Return
End If


'  Get the certificate by subject common name.
'  This should be the cert within the PFX that also
'  has a private key (also stored within the PFX).
Dim jsonCN As ChilkatJsonObject
jsonCN.Initialize
jsonCN.UpdateString("CN", "myCert")
Dim cert As ChilkatCert
cert.Initialize("cert")
success = certStore.FindCert(jsonCN, cert)
If success = False Then
    Log(certStore.LastErrorText)
    Return
End If


'  Tell the crypt object to use the certificate for signing:
success = crypt.SetSigningCert(cert)

'  Sign a file, producing a .p7m as output.
'  The input file is unchanged, the test.p7m contains the 
'  contents of the input file and the signature.
Dim inFile As String = "test.txt"
Dim outFile As String = "testp7m"
success = crypt.CreateP7M(inFile, outFile)
If success <> True Then
    Log(crypt.LastErrorText)
    Return
End If


Log("Success!")