Sample code for 30+ languages & platforms
Classic ASP

Create an Opaque Signature with a Separate Private Key

See more MIME Examples

Demonstrates the Chilkat Mime.ConvertToSignedPk method, which creates an opaque signature using a signer certificate and its separately supplied private key. The first argument is the Cert and the second is the PrivateKey.

Note: The file paths are relative to the application's current working directory. Absolute paths may also be used. Supply the paths appropriate to your own environment.

Background: The separate-key form of ConvertToSigned, for when the certificate and private key are not bundled together. It produces the same opaque CMS signed-data result; only the source of the key material differs.

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

set mime = Server.CreateObject("Chilkat.Mime")
success = mime.SetBodyFromPlainText("This message will be signed.")
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( mime.LastErrorText) & "</pre>"
    Response.End
End If

'  Load the certificate and its private key separately.
set cert = Server.CreateObject("Chilkat.Cert")
success = cert.LoadFromFile("qa_data/signer.cer")
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( cert.LastErrorText) & "</pre>"
    Response.End
End If

set privKey = Server.CreateObject("Chilkat.PrivateKey")
success = privKey.LoadPemFile("qa_data/signer_privkey.pem")
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( privKey.LastErrorText) & "</pre>"
    Response.End
End If

'  Create an opaque signature when the certificate and private key are supplied separately.  The
'  1st argument is the signer certificate and the 2nd is its private key.
success = mime.ConvertToSignedPk(cert,privKey)
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( mime.LastErrorText) & "</pre>"
    Response.End
End If

success = mime.SaveMime("qa_output/signed_opaque.eml")
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( mime.LastErrorText) & "</pre>"
    Response.End
End If

Response.Write "<pre>" & Server.HTMLEncode( "Message converted to an opaque signed message.") & "</pre>"

%>
</body>
</html>