Lua Requires Chilkat v11.0.0+
Lua
About RSA Public/Private Keys
See more RSA Examples
This example provides some additional information for understanding public/private key pairs. In demonstrates how a private key is a superset of the public key. A public key contains the modulus and exponent. The matching private key also contains the modulus and exponent, but also contains the additional private key parts.Chilkat Lua Downloads
local chilkat = require("chilkat")
local cert = chilkat.Cert.new()
-- Load a digital certificate.
local success = cert:load_from_file("digitalCert.cer")
if not success then
print(cert.last_error_text)
return
end
-- A .cer file does not contain the private key. It should contain
-- the public key...
local pubKey = chilkat.PublicKey.new()
cert:get_public_key(pubKey)
-- Let's have a look at it (in XML format).
print("Public Key from Certificate:")
print(pubKey:get_xml())
-- An RSA public key consists of a modulus and exponent.
-- An RSA private key includes both the modulus and exponent,
-- as well as other "big" numbers: P, Q, D, etc.
-- Let's load an RSA private key from a DER-encoded file:
local privKey = chilkat.PrivateKey.new()
success = privKey:load_any_format_file("PrivateKey.key", "")
if not success then
print(privKey.last_error_text)
return
end
-- If this private key is the matching half to the public key from
-- the certificate, then the modulus and exponent should
-- be identical. (Thus, a "private key" really contains both the public part as well as the private parts...).
print("Private Key from DER:")
print(privKey:get_xml())