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

 

 

 

 

 

 

 

Sign a Hash to create PKCS7 Output

Uses a digital certificate to sign a SHA-1 hash to produce PKCS7 output.

Downloads for Windows/Linux and Install Instructions

require 'rubygems'
require 'chilkat'

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

#  First, create an SHA-1 hash to be signed:
toBeHashed = "This is a test"

hash = Chilkat::CkByteData.new()
crypt.put_HashAlgorithm("sha1")

success = crypt.HashString(toBeHashed,hash)
if (success != true)
    print crypt.lastErrorText() + "\n"
    exit
end

#  Locate a digital certificate from the registry-based
#  Current User certificate store.
ccs = Chilkat::CkCreateCS.new()

# certStore is a CkCertStore
certStore = ccs.OpenCurrentUserStore()

# cert is a CkCert
cert = certStore.FindCertBySubjectCN("Chilkat Software, Inc.")
if (cert == nil )
    print cert.lastErrorText() + "\n"

    exit
end

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

#  Tell the encryption component to use public-key encryption:
crypt.put_CryptAlgorithm("pki")

pkcs7 = Chilkat::CkByteData.new()

success = crypt.SignBytes(hash,pkcs7)
if (success == false)
    print crypt.lastErrorText() + "\n"

    exit
end

#  Save the PKCS7 signature to a file.
success = pkcs7.saveFile("out_pkcs7.p7s")
if (success == false)
    print "Failed to save output file." + "\n"
else
    print "Success." + "\n"
end


 

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