(Go) RSASSA-PSS Algorithm with SHA256 Hashing
RSA encrypt a SHA256 hash with OAEP padding.
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
privkey := chilkat.NewPrivateKey()
// Load the private key object from a PEM file.
// (To load from a PEM string, call LoadPem instead.)
success := privkey.LoadPemFile("somePath/myPrivateKey.pem")
if success != true {
fmt.Println(privkey.LastErrorText())
privkey.DisposePrivateKey()
return
}
rsa := chilkat.NewRsa()
// Use RSA-PSS by setting OaepPadding = true
rsa.SetOaepPadding(true)
// Use SHA256
rsa.SetOaepHash("SHA-256")
rsa.ImportPrivateKeyObj(privkey)
// Generate a base64 signature.
rsa.SetEncodingMode("base64")
sigStr := rsa.SignStringENC("String to be signed","SHA-256")
if rsa.LastMethodSuccess() != true {
fmt.Println(rsa.LastErrorText())
privkey.DisposePrivateKey()
rsa.DisposeRsa()
return
}
fmt.Println("Signature: ", *sigStr)
privkey.DisposePrivateKey()
rsa.DisposeRsa()
|