AutoIt
AutoIt
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 AutoIt Downloads
Local $bSuccess = False
$oCert = ObjCreate("Chilkat.Cert")
; Load a digital certificate.
$bSuccess = $oCert.LoadFromFile("digitalCert.cer")
If ($bSuccess = False) Then
ConsoleWrite($oCert.LastErrorText & @CRLF)
Exit
EndIf
; A .cer file does not contain the private key. It should contain
; the public key...
$oPubKey = ObjCreate("Chilkat.PublicKey")
$oCert.GetPublicKey($oPubKey)
; Let's have a look at it (in XML format).
ConsoleWrite("Public Key from Certificate:" & @CRLF)
ConsoleWrite($oPubKey.GetXml() & @CRLF)
; 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:
$oPrivKey = ObjCreate("Chilkat.PrivateKey")
$bSuccess = $oPrivKey.LoadAnyFormatFile("PrivateKey.key","")
If ($bSuccess <> True) Then
ConsoleWrite($oPrivKey.LastErrorText & @CRLF)
Exit
EndIf
; 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...).
ConsoleWrite("Private Key from DER:" & @CRLF)
ConsoleWrite($oPrivKey.GetXml() & @CRLF)