Ruby Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Ruby
Examples

Quick Start
Unicode
Byte Array
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
Signatures
SFTP
SMTP
Socket / SSL
Spider
SSH
SSH Key
SSH Tunnel
Tar
HTTP Upload
XML
XMP
Zip

More Examples...
String
Amazon S3
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
DH Key Exchange
DSA
LZW

 

 

 

 

 

 

 

Use Certificate and Private Key PEM Files to Create a Digital Signature

Demonstrates how to load a digital certificate from a PEM file, load it's corresponding private key from a PEM file, save the private key to a key container (if necessary), link the certificate to the key container, and use it to create a digital signature.

Downloads for Windows/Linux and Install Instructions

require 'chilkat'

cert = Chilkat::CkCert.new()

#  Load the cert from a PEM file;
cert.LoadFromFile("cert.pem")

pkey = Chilkat::CkPrivateKey.new()

#  Load the private key from an RSA PEM file:
pkey.LoadPemFile("pkey_rsa.pem")

success = cert.SetPrivateKey(pkey)
if (success != true)
    print cert.lastErrorText() + "\n";
    exit
end

#  Use Chilkat Crypt (a non-freeware component) to create
#  a digital signature using the certificate w/ private key:
crypt = Chilkat::CkCrypt2.new()

#  Any string argument automatically begins the 30-day trial.
success = crypt.UnlockComponent("30-day trial")
if (success != true)
    print crypt.lastErrorText() + "\n";
    exit
end

#  Tell the crypt component to use this cert.
crypt.SetSigningCert(cert)

#  A PKCS7 signature for any type of file content can be created:
success = crypt.CreateP7S("license.rtf","license.p7s")
if (success == false)
    print crypt.lastErrorText() + "\n";
    exit
end

print crypt.lastErrorText() + "\n";

#  Verify and restore the original file:
crypt.SetVerifyCert(cert)

success = crypt.VerifyP7S("license.rtf","license.p7s")
if (success == false)
    print crypt.lastErrorText() + "\n";
    exit
end

print "Success!" + "\n"


 

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.