Sample code for 30+ languages & platforms
AutoIt

Generate new DSA Key from OpenSSL Parameters File

See more DSA Examples

Generates a new DSA key from an OpenSSL-created parameters file (DER and PEM formats supported). Examples of using OpenSSL to create parameter files are shown here:
openssl dsaparam -outform DER 1024 <  seedData.txt >dsaparam.der

openssl dsaparam 1024 < seedData.txt >dsaparam.pem

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

;  This example requires the Chilkat API to have been previously unlocked.
;  See Global Unlock Sample for sample code.

$oDsa = ObjCreate("Chilkat.Dsa")

$bSuccess = $oDsa.GenKeyFromParamsDerFile("dsaparam.der")
If ($bSuccess <> True) Then
    ConsoleWrite($oDsa.LastErrorText & @CRLF)
    Exit
EndIf

;  To generate a key from PEM, call GenKeyFromParamsPem 
;  (for an in-memory PEM string) or GenKeyFromParamsFilePem
;  for a PEM file.

;  The public and private keys may now be exported to PEM, DER,
;  and XML formatted files.

Local $sPemStr
Local $sXmlStr

;  First for the public key...
;  The public key never needs to be encrypted.

;  Save the public key in PEM format:
$sPemStr = $oDsa.ToPublicPem()
;  This example will not check the return value of SaveText...
$bSuccess = $oDsa.SaveText($sPemStr,"dsa_pub.pem")

;  Save the public key in DER format:
$bSuccess = $oDsa.ToPublicDerFile("dsa_pub.der")

Local $bPublicOnly = True
;  Save to XML
$sXmlStr = $oDsa.ToXml($bPublicOnly)
$bSuccess = $oDsa.SaveText($sPemStr,"dsa_pub.xml")

;  ------------------------------------
;  Now for the private key....
;  ------------------------------------

;  Unencrypted PEM:
$sPemStr = $oDsa.ToPem()
$bSuccess = $oDsa.SaveText($sPemStr,"dsa_priv.pem")

;  Encrypted PEM:
$sPemStr = $oDsa.ToEncryptedPem("myPassword")
$bSuccess = $oDsa.SaveText($sPemStr,"dsa_privEncrypted.pem")

;  DER:
$bSuccess = $oDsa.ToDerFile("dsa_priv.der")

;  XML:
$bPublicOnly = False
$sXmlStr = $oDsa.ToXml($bPublicOnly)
$bSuccess = $oDsa.SaveText($sPemStr,"dsa_priv.xml")

ConsoleWrite("Finished!" & @CRLF)