Sample code for 30+ languages & platforms
AutoIt

RSA Signature using Private Key from .snk File

See more RSA Examples

A .snk file (Strong Name Key file) is a file format used in the .NET ecosystem to store an RSA public/private key pair. This key pair is typically used for strong-naming assemblies, which is a process of signing .NET assemblies to ensure their integrity and to uniquely identify them.

This example loads a private key from a .snk file and creates an RSA signature.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

$oRsa = ObjCreate("Chilkat.Rsa")

; Load the .snk and return the private key as XML.
Local $sXmlStr = $oRsa.SnkToXml("./test.snk")
If ($oRsa.LastMethodSuccess = False) Then
    ConsoleWrite($oRsa.LastErrorText & @CRLF)
    Exit
EndIf

$oPrivKey = ObjCreate("Chilkat.PrivateKey")
$bSuccess = $oPrivKey.LoadXml($sXmlStr)
If ($bSuccess = False) Then
    ConsoleWrite($oPrivKey.LastErrorText & @CRLF)
    Exit
EndIf

$bSuccess = $oRsa.UsePrivateKey($oPrivKey)
If ($bSuccess = False) Then
    ConsoleWrite($oRsa.LastErrorText & @CRLF)
    Exit
EndIf

; Sign the SHA-256 hash of the utf-8 byte representation of the contents of sb
; Return the signature in base64 format.
$oRsa.EncodingMode = "base64"
$oRsa.Charset = "utf-8"
Local $sigBase64 = $oRsa.SignStringENC("This is the text to be hashed and signed.","sha256")
If ($oRsa.LastMethodSuccess = False) Then
    ConsoleWrite($oRsa.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite("RSA signature as base64: " & $sigBase64 & @CRLF)