Struct x509_parser::signature_algorithm::RsaAesOaepParams
source · pub struct RsaAesOaepParams<'a> { /* private fields */ }
Implementations§
source§impl<'a> RsaAesOaepParams<'a>
impl<'a> RsaAesOaepParams<'a>
pub const EMPTY: &'static AlgorithmIdentifier<'static> = _
sourcepub fn hash_algorithm(&self) -> Option<&AlgorithmIdentifier<'_>>
pub fn hash_algorithm(&self) -> Option<&AlgorithmIdentifier<'_>>
Get a reference to the rsa aes oaep params’s hash algorithm.
sourcepub fn hash_algorithm_oid(&self) -> &'a Oid<'_>
pub fn hash_algorithm_oid(&self) -> &'a Oid<'_>
Return the hash algorithm OID, or SHA1 if absent (RFC4055)
Examples found in repository?
examples/print-cert.rs (line 264)
229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290
fn print_x509_signature_algorithm(signature_algorithm: &AlgorithmIdentifier, indent: usize) {
match SignatureAlgorithm::try_from(signature_algorithm) {
Ok(sig_alg) => {
print!(" Signature Algorithm: ");
match sig_alg {
SignatureAlgorithm::DSA => println!("DSA"),
SignatureAlgorithm::ECDSA => println!("ECDSA"),
SignatureAlgorithm::ED25519 => println!("ED25519"),
SignatureAlgorithm::RSA => println!("RSA"),
SignatureAlgorithm::RSASSA_PSS(params) => {
println!("RSASSA-PSS");
let indent_s = format!("{:indent$}", "", indent = indent + 2);
println!(
"{}Hash Algorithm: {}",
indent_s,
format_oid(params.hash_algorithm_oid()),
);
print!("{}Mask Generation Function: ", indent_s);
if let Ok(mask_gen) = params.mask_gen_algorithm() {
println!(
"{}/{}",
format_oid(&mask_gen.mgf),
format_oid(&mask_gen.hash),
);
} else {
println!("INVALID");
}
println!("{}Salt Length: {}", indent_s, params.salt_length());
}
SignatureAlgorithm::RSAAES_OAEP(params) => {
println!("RSAAES-OAEP");
let indent_s = format!("{:indent$}", "", indent = indent + 2);
println!(
"{}Hash Algorithm: {}",
indent_s,
format_oid(params.hash_algorithm_oid()),
);
print!("{}Mask Generation Function: ", indent_s);
if let Ok(mask_gen) = params.mask_gen_algorithm() {
println!(
"{}/{}",
format_oid(&mask_gen.mgf),
format_oid(&mask_gen.hash),
);
} else {
println!("INVALID");
}
println!(
"{}pSourceFunc: {}",
indent_s,
format_oid(¶ms.p_source_alg().algorithm),
);
}
}
}
Err(e) => {
eprintln!("Could not parse signature algorithm: {}", e);
println!(" Signature Algorithm:");
print_x509_digest_algorithm(signature_algorithm, indent);
}
}
}
sourcepub fn mask_gen_algorithm_raw(&self) -> Option<&AlgorithmIdentifier<'_>>
pub fn mask_gen_algorithm_raw(&self) -> Option<&AlgorithmIdentifier<'_>>
Get a reference to the rsa ssa pss params’s mask generation algorithm.
sourcepub fn mask_gen_algorithm(&self) -> Result<MaskGenAlgorithm<'_, '_>, X509Error>
pub fn mask_gen_algorithm(&self) -> Result<MaskGenAlgorithm<'_, '_>, X509Error>
Get the rsa ssa pss params’s mask generation algorithm.
If the algorithm encoding is invalid, raise an error InvalidAlgorithmIdentifier
Examples found in repository?
examples/print-cert.rs (line 267)
229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290
fn print_x509_signature_algorithm(signature_algorithm: &AlgorithmIdentifier, indent: usize) {
match SignatureAlgorithm::try_from(signature_algorithm) {
Ok(sig_alg) => {
print!(" Signature Algorithm: ");
match sig_alg {
SignatureAlgorithm::DSA => println!("DSA"),
SignatureAlgorithm::ECDSA => println!("ECDSA"),
SignatureAlgorithm::ED25519 => println!("ED25519"),
SignatureAlgorithm::RSA => println!("RSA"),
SignatureAlgorithm::RSASSA_PSS(params) => {
println!("RSASSA-PSS");
let indent_s = format!("{:indent$}", "", indent = indent + 2);
println!(
"{}Hash Algorithm: {}",
indent_s,
format_oid(params.hash_algorithm_oid()),
);
print!("{}Mask Generation Function: ", indent_s);
if let Ok(mask_gen) = params.mask_gen_algorithm() {
println!(
"{}/{}",
format_oid(&mask_gen.mgf),
format_oid(&mask_gen.hash),
);
} else {
println!("INVALID");
}
println!("{}Salt Length: {}", indent_s, params.salt_length());
}
SignatureAlgorithm::RSAAES_OAEP(params) => {
println!("RSAAES-OAEP");
let indent_s = format!("{:indent$}", "", indent = indent + 2);
println!(
"{}Hash Algorithm: {}",
indent_s,
format_oid(params.hash_algorithm_oid()),
);
print!("{}Mask Generation Function: ", indent_s);
if let Ok(mask_gen) = params.mask_gen_algorithm() {
println!(
"{}/{}",
format_oid(&mask_gen.mgf),
format_oid(&mask_gen.hash),
);
} else {
println!("INVALID");
}
println!(
"{}pSourceFunc: {}",
indent_s,
format_oid(¶ms.p_source_alg().algorithm),
);
}
}
}
Err(e) => {
eprintln!("Could not parse signature algorithm: {}", e);
println!(" Signature Algorithm:");
print_x509_digest_algorithm(signature_algorithm, indent);
}
}
}
sourcepub fn p_source_alg(&'a self) -> &'a AlgorithmIdentifier<'_>
pub fn p_source_alg(&'a self) -> &'a AlgorithmIdentifier<'_>
Return the pSourceFunc algorithm
Examples found in repository?
examples/print-cert.rs (line 279)
229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290
fn print_x509_signature_algorithm(signature_algorithm: &AlgorithmIdentifier, indent: usize) {
match SignatureAlgorithm::try_from(signature_algorithm) {
Ok(sig_alg) => {
print!(" Signature Algorithm: ");
match sig_alg {
SignatureAlgorithm::DSA => println!("DSA"),
SignatureAlgorithm::ECDSA => println!("ECDSA"),
SignatureAlgorithm::ED25519 => println!("ED25519"),
SignatureAlgorithm::RSA => println!("RSA"),
SignatureAlgorithm::RSASSA_PSS(params) => {
println!("RSASSA-PSS");
let indent_s = format!("{:indent$}", "", indent = indent + 2);
println!(
"{}Hash Algorithm: {}",
indent_s,
format_oid(params.hash_algorithm_oid()),
);
print!("{}Mask Generation Function: ", indent_s);
if let Ok(mask_gen) = params.mask_gen_algorithm() {
println!(
"{}/{}",
format_oid(&mask_gen.mgf),
format_oid(&mask_gen.hash),
);
} else {
println!("INVALID");
}
println!("{}Salt Length: {}", indent_s, params.salt_length());
}
SignatureAlgorithm::RSAAES_OAEP(params) => {
println!("RSAAES-OAEP");
let indent_s = format!("{:indent$}", "", indent = indent + 2);
println!(
"{}Hash Algorithm: {}",
indent_s,
format_oid(params.hash_algorithm_oid()),
);
print!("{}Mask Generation Function: ", indent_s);
if let Ok(mask_gen) = params.mask_gen_algorithm() {
println!(
"{}/{}",
format_oid(&mask_gen.mgf),
format_oid(&mask_gen.hash),
);
} else {
println!("INVALID");
}
println!(
"{}pSourceFunc: {}",
indent_s,
format_oid(¶ms.p_source_alg().algorithm),
);
}
}
}
Err(e) => {
eprintln!("Could not parse signature algorithm: {}", e);
println!(" Signature Algorithm:");
print_x509_digest_algorithm(signature_algorithm, indent);
}
}
}
Trait Implementations§
source§impl CheckDerConstraints for RsaAesOaepParams<'_>
impl CheckDerConstraints for RsaAesOaepParams<'_>
source§impl<'a> Debug for RsaAesOaepParams<'a>
impl<'a> Debug for RsaAesOaepParams<'a>
source§impl<'a> PartialEq for RsaAesOaepParams<'a>
impl<'a> PartialEq for RsaAesOaepParams<'a>
source§fn eq(&self, other: &RsaAesOaepParams<'a>) -> bool
fn eq(&self, other: &RsaAesOaepParams<'a>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<'a, 'b> TryFrom<&'b Any<'a>> for RsaAesOaepParams<'a>
impl<'a, 'b> TryFrom<&'b Any<'a>> for RsaAesOaepParams<'a>
source§impl<'a> TryFrom<Any<'a>> for RsaAesOaepParams<'a>
impl<'a> TryFrom<Any<'a>> for RsaAesOaepParams<'a>
impl DerAutoDerive for RsaAesOaepParams<'_>
impl<'a> StructuralPartialEq for RsaAesOaepParams<'a>
Auto Trait Implementations§
impl<'a> RefUnwindSafe for RsaAesOaepParams<'a>
impl<'a> Send for RsaAesOaepParams<'a>
impl<'a> Sync for RsaAesOaepParams<'a>
impl<'a> Unpin for RsaAesOaepParams<'a>
impl<'a> UnwindSafe for RsaAesOaepParams<'a>
Blanket Implementations§
source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more