Ruby Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Ruby
Examples

Quick Start
Ruby Unicode
Ruby Byte Array
Ruby Certs
Ruby Email
Ruby Encryption
Ruby FTP
HTML-to-XML
Ruby HTTP
Ruby IMAP
Ruby MHT
Ruby MIME
Ruby S/MIME
Ruby Signatures
Ruby RSA
Ruby Socket
Ruby Spider
Ruby Tar
Ruby Upload
Ruby XML
Ruby XMP
Ruby Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
DH Key Exchange
DSA
SSH Key
SSH
SSH Tunnel
SFTP

Unreleased...
LZW
Bz2
Icon

 

 

 

 

 

 

 

Export Certificate and Private Key to PFX

Demonstrates how to export a digital certificate, it's private key, and potentially all certificates in the chain of authentication to a PFX file.

Download Chilkat Ruby Library

require 'chilkat'



#  This object is used to create a certificate store object.
ccs = Chilkat::CkCreateCS.new()

#  Open the local machine certificate store read-only.
ccs.put_ReadOnly(true)
certStore = ccs.OpenLocalSystemStore()

#  Can we find a certificate by email address?

cert = certStore.FindCertBySubjectE("admin@chilkatsoft.com")
if (cert == nil )
    #  Open the current-user certificate store and check it instead.

    print "Checking current-user certificate store..." + "\n";

    certStore = ccs.OpenCurrentUserStore()

    cert = certStore.FindCertBySubjectE("admin@chilkatsoft.com")
    if (cert == nil )
        print "Failed to find certificate!" + "\n";
        exit
    end

end

#  Does this certificate have a private key accessible
#  to the calling process?  Private keys are *not* stored
#  within the certificate store.  Private keys are stored
#  in a key container in a Windows protected store.  It
#  can be one of two protected stores: the protected store for
#  the current logged-in user account, or the "machine-key"
#  protected store.  The private key must both exist in a
#  protected store, and the process must have permission to
#  access it...

#  You can only export to a PFX if the private key exists
#  and is accessible.

if (cert.HasPrivateKey() == true)

    #  Export to a PFX.
    #  Provide a password that will be required whenever the PFX is opened.
    #  Also, include all certs in the chain of authentication.

    bIncludeChain = true
    success = cert.ExportToPfxFile("myCert.pfx","myPassword",bIncludeChain)
    if (success != true)
        print cert.lastErrorText() + "\n";
    else
        print "Exported to PFX!" + "\n";
    end

else
    print "Certificate does not have a private key available" + "\n";
end

#  The Chilkat Certificate, Certificate Store, Private Key,
#  Public Key, and Key Container classes / objects are freeware.

#  They are used by and included with the Chilkat Email,
#  Crypt, S/MIME, and other commercial Chilkat components.

 

Need a specific example? Send a request to support@chilkatsoft.com

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