Sample code for 30+ languages & platforms
Visual Basic 6.0 Requires Chilkat v11.0.0+

Duplicate openssl dgst -sha256 -sign private.pem -out sha256.sig in.dat

Demonstrates how to duplicate this OpenSSL command:
openssl dgst -sha256 -sign private.pem -out sha256.sig in.dat
The in.dat file can contain text or binary data of any type. The OpenSSL command does the following:
  1. Creates a SHA256 digest of the contents of the input file
  2. Signs the SHA256 digest using the private key.

Chilkat Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

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

Dim pkey As New PrivateKey

'  Load the private key from an PEM file:
success = pkey.LoadPemFile("private.pem")
If (success = 0) Then
    Debug.Print pkey.LastErrorText
    Exit Sub
End If

'  Load the file to be signed.
Dim fac As New CkFileAccess
Dim inData() As Byte
inData = fac.ReadEntireFile("in.dat")

Dim rsa As New ChilkatRsa

'  Import the private key into the RSA component:
success = rsa.UsePrivateKey(pkey)
If (success = 0) Then
    Debug.Print rsa.LastErrorText
    Exit Sub
End If

'  OpenSSL uses big-endian.
rsa.LittleEndian = 0

Dim sigBytes() As Byte
sigBytes = rsa.SignBytes(inData,"sha256")
If (rsa.LastMethodSuccess = 0) Then
    Debug.Print rsa.LastErrorText
    Exit Sub
End If

'  Save the binary signature to a file.
success = fac.WriteEntireFile("signature.sig",sigBytes)
If (success = 0) Then
    Debug.Print fac.LastErrorText
    Exit Sub
End If

Debug.Print "Success."