Rust Requires Chilkat v11.0.0+
Rust
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 Rust Downloads
let rsa = chilkat::Rsa::new();
// Load the .snk and return the private key as XML.
let Ok(xml_str) = rsa.snk_to_xml("./test.snk") else {
println!("{}", rsa.last_error_text());
return;
};
let priv_key = chilkat::PrivateKey::new();
if priv_key.load_xml(&xml_str).is_err() {
println!("{}", priv_key.last_error_text());
return;
}
if rsa.use_private_key(&priv_key).is_err() {
println!("{}", rsa.last_error_text());
return;
}
// Sign the SHA-256 hash of the utf-8 byte representation of the contents of sb
// Return the signature in base64 format.
rsa.set_encoding_mode("base64");
rsa.set_charset("utf-8");
let Ok(sig_base64) = rsa.sign_string_enc("This is the text to be hashed and signed.", "sha256") else {
println!("{}", rsa.last_error_text());
return;
};
println!("RSA signature as base64: {}", sig_base64);