pub struct RsaSsaPssParams<'a> { /* private fields */ }
Implementations§
Source§impl<'a> RsaSsaPssParams<'a>
impl<'a> RsaSsaPssParams<'a>
Sourcepub fn hash_algorithm(&self) -> Option<&AlgorithmIdentifier<'_>>
pub fn hash_algorithm(&self) -> Option<&AlgorithmIdentifier<'_>>
Get a reference to the rsa ssa pss 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 245)
230fn print_x509_signature_algorithm(signature_algorithm: &AlgorithmIdentifier, indent: usize) {
231 match SignatureAlgorithm::try_from(signature_algorithm) {
232 Ok(sig_alg) => {
233 print!(" Signature Algorithm: ");
234 match sig_alg {
235 SignatureAlgorithm::DSA => println!("DSA"),
236 SignatureAlgorithm::ECDSA => println!("ECDSA"),
237 SignatureAlgorithm::ED25519 => println!("ED25519"),
238 SignatureAlgorithm::RSA => println!("RSA"),
239 SignatureAlgorithm::RSASSA_PSS(params) => {
240 println!("RSASSA-PSS");
241 let indent_s = format!("{:indent$}", "", indent = indent + 2);
242 println!(
243 "{}Hash Algorithm: {}",
244 indent_s,
245 format_oid(params.hash_algorithm_oid()),
246 );
247 print!("{indent_s}Mask Generation Function: ");
248 if let Ok(mask_gen) = params.mask_gen_algorithm() {
249 println!(
250 "{}/{}",
251 format_oid(&mask_gen.mgf),
252 format_oid(&mask_gen.hash),
253 );
254 } else {
255 println!("INVALID");
256 }
257 println!("{}Salt Length: {}", indent_s, params.salt_length());
258 }
259 SignatureAlgorithm::RSAAES_OAEP(params) => {
260 println!("RSAAES-OAEP");
261 let indent_s = format!("{:indent$}", "", indent = indent + 2);
262 println!(
263 "{}Hash Algorithm: {}",
264 indent_s,
265 format_oid(params.hash_algorithm_oid()),
266 );
267 print!("{indent_s}Mask Generation Function: ");
268 if let Ok(mask_gen) = params.mask_gen_algorithm() {
269 println!(
270 "{}/{}",
271 format_oid(&mask_gen.mgf),
272 format_oid(&mask_gen.hash),
273 );
274 } else {
275 println!("INVALID");
276 }
277 println!(
278 "{}pSourceFunc: {}",
279 indent_s,
280 format_oid(¶ms.p_source_alg().algorithm),
281 );
282 }
283 }
284 }
285 Err(e) => {
286 eprintln!("Could not parse signature algorithm: {e}");
287 println!(" Signature Algorithm:");
288 print_x509_digest_algorithm(signature_algorithm, indent);
289 }
290 }
291}
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 248)
230fn print_x509_signature_algorithm(signature_algorithm: &AlgorithmIdentifier, indent: usize) {
231 match SignatureAlgorithm::try_from(signature_algorithm) {
232 Ok(sig_alg) => {
233 print!(" Signature Algorithm: ");
234 match sig_alg {
235 SignatureAlgorithm::DSA => println!("DSA"),
236 SignatureAlgorithm::ECDSA => println!("ECDSA"),
237 SignatureAlgorithm::ED25519 => println!("ED25519"),
238 SignatureAlgorithm::RSA => println!("RSA"),
239 SignatureAlgorithm::RSASSA_PSS(params) => {
240 println!("RSASSA-PSS");
241 let indent_s = format!("{:indent$}", "", indent = indent + 2);
242 println!(
243 "{}Hash Algorithm: {}",
244 indent_s,
245 format_oid(params.hash_algorithm_oid()),
246 );
247 print!("{indent_s}Mask Generation Function: ");
248 if let Ok(mask_gen) = params.mask_gen_algorithm() {
249 println!(
250 "{}/{}",
251 format_oid(&mask_gen.mgf),
252 format_oid(&mask_gen.hash),
253 );
254 } else {
255 println!("INVALID");
256 }
257 println!("{}Salt Length: {}", indent_s, params.salt_length());
258 }
259 SignatureAlgorithm::RSAAES_OAEP(params) => {
260 println!("RSAAES-OAEP");
261 let indent_s = format!("{:indent$}", "", indent = indent + 2);
262 println!(
263 "{}Hash Algorithm: {}",
264 indent_s,
265 format_oid(params.hash_algorithm_oid()),
266 );
267 print!("{indent_s}Mask Generation Function: ");
268 if let Ok(mask_gen) = params.mask_gen_algorithm() {
269 println!(
270 "{}/{}",
271 format_oid(&mask_gen.mgf),
272 format_oid(&mask_gen.hash),
273 );
274 } else {
275 println!("INVALID");
276 }
277 println!(
278 "{}pSourceFunc: {}",
279 indent_s,
280 format_oid(¶ms.p_source_alg().algorithm),
281 );
282 }
283 }
284 }
285 Err(e) => {
286 eprintln!("Could not parse signature algorithm: {e}");
287 println!(" Signature Algorithm:");
288 print_x509_digest_algorithm(signature_algorithm, indent);
289 }
290 }
291}
Sourcepub fn salt_length(&self) -> u32
pub fn salt_length(&self) -> u32
Return the salt length
Examples found in repository?
examples/print-cert.rs (line 257)
230fn print_x509_signature_algorithm(signature_algorithm: &AlgorithmIdentifier, indent: usize) {
231 match SignatureAlgorithm::try_from(signature_algorithm) {
232 Ok(sig_alg) => {
233 print!(" Signature Algorithm: ");
234 match sig_alg {
235 SignatureAlgorithm::DSA => println!("DSA"),
236 SignatureAlgorithm::ECDSA => println!("ECDSA"),
237 SignatureAlgorithm::ED25519 => println!("ED25519"),
238 SignatureAlgorithm::RSA => println!("RSA"),
239 SignatureAlgorithm::RSASSA_PSS(params) => {
240 println!("RSASSA-PSS");
241 let indent_s = format!("{:indent$}", "", indent = indent + 2);
242 println!(
243 "{}Hash Algorithm: {}",
244 indent_s,
245 format_oid(params.hash_algorithm_oid()),
246 );
247 print!("{indent_s}Mask Generation Function: ");
248 if let Ok(mask_gen) = params.mask_gen_algorithm() {
249 println!(
250 "{}/{}",
251 format_oid(&mask_gen.mgf),
252 format_oid(&mask_gen.hash),
253 );
254 } else {
255 println!("INVALID");
256 }
257 println!("{}Salt Length: {}", indent_s, params.salt_length());
258 }
259 SignatureAlgorithm::RSAAES_OAEP(params) => {
260 println!("RSAAES-OAEP");
261 let indent_s = format!("{:indent$}", "", indent = indent + 2);
262 println!(
263 "{}Hash Algorithm: {}",
264 indent_s,
265 format_oid(params.hash_algorithm_oid()),
266 );
267 print!("{indent_s}Mask Generation Function: ");
268 if let Ok(mask_gen) = params.mask_gen_algorithm() {
269 println!(
270 "{}/{}",
271 format_oid(&mask_gen.mgf),
272 format_oid(&mask_gen.hash),
273 );
274 } else {
275 println!("INVALID");
276 }
277 println!(
278 "{}pSourceFunc: {}",
279 indent_s,
280 format_oid(¶ms.p_source_alg().algorithm),
281 );
282 }
283 }
284 }
285 Err(e) => {
286 eprintln!("Could not parse signature algorithm: {e}");
287 println!(" Signature Algorithm:");
288 print_x509_digest_algorithm(signature_algorithm, indent);
289 }
290 }
291}
Sourcepub fn trailer_field(&self) -> u32
pub fn trailer_field(&self) -> u32
Return the trailer field (value must be 1
according to RFC4055)
Trait Implementations§
Source§impl CheckDerConstraints for RsaSsaPssParams<'_>
impl CheckDerConstraints for RsaSsaPssParams<'_>
Source§impl<'a> Debug for RsaSsaPssParams<'a>
impl<'a> Debug for RsaSsaPssParams<'a>
Source§impl<'a> PartialEq for RsaSsaPssParams<'a>
impl<'a> PartialEq for RsaSsaPssParams<'a>
Source§impl<'a, 'b> TryFrom<&'b Any<'a>> for RsaSsaPssParams<'a>
impl<'a, 'b> TryFrom<&'b Any<'a>> for RsaSsaPssParams<'a>
Source§impl<'a> TryFrom<Any<'a>> for RsaSsaPssParams<'a>
impl<'a> TryFrom<Any<'a>> for RsaSsaPssParams<'a>
impl DerAutoDerive for RsaSsaPssParams<'_>
impl<'a> StructuralPartialEq for RsaSsaPssParams<'a>
Auto Trait Implementations§
impl<'a> Freeze for RsaSsaPssParams<'a>
impl<'a> RefUnwindSafe for RsaSsaPssParams<'a>
impl<'a> Send for RsaSsaPssParams<'a>
impl<'a> Sync for RsaSsaPssParams<'a>
impl<'a> Unpin for RsaSsaPssParams<'a>
impl<'a> UnwindSafe for RsaSsaPssParams<'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