Rust Requires Chilkat v11.0.0+
Rust
RSA Sign using Base64 Private Key
See more RSA Examples
Signs a string using a non-encrypted RSA private key in base64 encoding. Returns the RSA signature as a base64 string.Chilkat Rust Downloads
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let priv_key = chilkat::PrivateKey::new();
let sb_pem = chilkat::StringBuilder::new();
let _ = sb_pem.append_line("-----BEGIN RSA PRIVATE KEY-----", true);
let _ = sb_pem.append_line("MIIC .... j5A==", true);
let _ = sb_pem.append_line("-----END RSA PRIVATE KEY-----", true);
if priv_key.load_pem(&sb_pem.get_as_string().unwrap_or_default()).is_err() {
println!("{}", priv_key.last_error_text());
return;
}
let rsa = chilkat::Rsa::new();
if rsa.use_private_key(&priv_key).is_err() {
println!("{}", rsa.last_error_text());
return;
}
let bd = chilkat::BinData::new();
let _ = bd.append_string("12345678", "utf-8");
if rsa.sign_raw_bd(&bd).is_err() {
println!("{}", rsa.last_error_text());
return;
}
// Get the base64 RSA signature.
println!("{}", bd.get_encoded("base64").unwrap_or_default());
if rsa.verify_raw_bd(&bd).is_err() {
println!("{}", rsa.last_error_text());
return;
}
let str_original = bd.get_string("utf-8").unwrap_or_default();
println!("{}", str_original);