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 244)
229fn print_x509_signature_algorithm(signature_algorithm: &AlgorithmIdentifier, indent: usize) {
230 match SignatureAlgorithm::try_from(signature_algorithm) {
231 Ok(sig_alg) => {
232 print!(" Signature Algorithm: ");
233 match sig_alg {
234 SignatureAlgorithm::DSA => println!("DSA"),
235 SignatureAlgorithm::ECDSA => println!("ECDSA"),
236 SignatureAlgorithm::ED25519 => println!("ED25519"),
237 SignatureAlgorithm::RSA => println!("RSA"),
238 SignatureAlgorithm::RSASSA_PSS(params) => {
239 println!("RSASSA-PSS");
240 let indent_s = format!("{:indent$}", "", indent = indent + 2);
241 println!(
242 "{}Hash Algorithm: {}",
243 indent_s,
244 format_oid(params.hash_algorithm_oid()),
245 );
246 print!("{}Mask Generation Function: ", indent_s);
247 if let Ok(mask_gen) = params.mask_gen_algorithm() {
248 println!(
249 "{}/{}",
250 format_oid(&mask_gen.mgf),
251 format_oid(&mask_gen.hash),
252 );
253 } else {
254 println!("INVALID");
255 }
256 println!("{}Salt Length: {}", indent_s, params.salt_length());
257 }
258 SignatureAlgorithm::RSAAES_OAEP(params) => {
259 println!("RSAAES-OAEP");
260 let indent_s = format!("{:indent$}", "", indent = indent + 2);
261 println!(
262 "{}Hash Algorithm: {}",
263 indent_s,
264 format_oid(params.hash_algorithm_oid()),
265 );
266 print!("{}Mask Generation Function: ", indent_s);
267 if let Ok(mask_gen) = params.mask_gen_algorithm() {
268 println!(
269 "{}/{}",
270 format_oid(&mask_gen.mgf),
271 format_oid(&mask_gen.hash),
272 );
273 } else {
274 println!("INVALID");
275 }
276 println!(
277 "{}pSourceFunc: {}",
278 indent_s,
279 format_oid(¶ms.p_source_alg().algorithm),
280 );
281 }
282 }
283 }
284 Err(e) => {
285 eprintln!("Could not parse signature algorithm: {}", e);
286 println!(" Signature Algorithm:");
287 print_x509_digest_algorithm(signature_algorithm, indent);
288 }
289 }
290}
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 247)
229fn print_x509_signature_algorithm(signature_algorithm: &AlgorithmIdentifier, indent: usize) {
230 match SignatureAlgorithm::try_from(signature_algorithm) {
231 Ok(sig_alg) => {
232 print!(" Signature Algorithm: ");
233 match sig_alg {
234 SignatureAlgorithm::DSA => println!("DSA"),
235 SignatureAlgorithm::ECDSA => println!("ECDSA"),
236 SignatureAlgorithm::ED25519 => println!("ED25519"),
237 SignatureAlgorithm::RSA => println!("RSA"),
238 SignatureAlgorithm::RSASSA_PSS(params) => {
239 println!("RSASSA-PSS");
240 let indent_s = format!("{:indent$}", "", indent = indent + 2);
241 println!(
242 "{}Hash Algorithm: {}",
243 indent_s,
244 format_oid(params.hash_algorithm_oid()),
245 );
246 print!("{}Mask Generation Function: ", indent_s);
247 if let Ok(mask_gen) = params.mask_gen_algorithm() {
248 println!(
249 "{}/{}",
250 format_oid(&mask_gen.mgf),
251 format_oid(&mask_gen.hash),
252 );
253 } else {
254 println!("INVALID");
255 }
256 println!("{}Salt Length: {}", indent_s, params.salt_length());
257 }
258 SignatureAlgorithm::RSAAES_OAEP(params) => {
259 println!("RSAAES-OAEP");
260 let indent_s = format!("{:indent$}", "", indent = indent + 2);
261 println!(
262 "{}Hash Algorithm: {}",
263 indent_s,
264 format_oid(params.hash_algorithm_oid()),
265 );
266 print!("{}Mask Generation Function: ", indent_s);
267 if let Ok(mask_gen) = params.mask_gen_algorithm() {
268 println!(
269 "{}/{}",
270 format_oid(&mask_gen.mgf),
271 format_oid(&mask_gen.hash),
272 );
273 } else {
274 println!("INVALID");
275 }
276 println!(
277 "{}pSourceFunc: {}",
278 indent_s,
279 format_oid(¶ms.p_source_alg().algorithm),
280 );
281 }
282 }
283 }
284 Err(e) => {
285 eprintln!("Could not parse signature algorithm: {}", e);
286 println!(" Signature Algorithm:");
287 print_x509_digest_algorithm(signature_algorithm, indent);
288 }
289 }
290}
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 256)
229fn print_x509_signature_algorithm(signature_algorithm: &AlgorithmIdentifier, indent: usize) {
230 match SignatureAlgorithm::try_from(signature_algorithm) {
231 Ok(sig_alg) => {
232 print!(" Signature Algorithm: ");
233 match sig_alg {
234 SignatureAlgorithm::DSA => println!("DSA"),
235 SignatureAlgorithm::ECDSA => println!("ECDSA"),
236 SignatureAlgorithm::ED25519 => println!("ED25519"),
237 SignatureAlgorithm::RSA => println!("RSA"),
238 SignatureAlgorithm::RSASSA_PSS(params) => {
239 println!("RSASSA-PSS");
240 let indent_s = format!("{:indent$}", "", indent = indent + 2);
241 println!(
242 "{}Hash Algorithm: {}",
243 indent_s,
244 format_oid(params.hash_algorithm_oid()),
245 );
246 print!("{}Mask Generation Function: ", indent_s);
247 if let Ok(mask_gen) = params.mask_gen_algorithm() {
248 println!(
249 "{}/{}",
250 format_oid(&mask_gen.mgf),
251 format_oid(&mask_gen.hash),
252 );
253 } else {
254 println!("INVALID");
255 }
256 println!("{}Salt Length: {}", indent_s, params.salt_length());
257 }
258 SignatureAlgorithm::RSAAES_OAEP(params) => {
259 println!("RSAAES-OAEP");
260 let indent_s = format!("{:indent$}", "", indent = indent + 2);
261 println!(
262 "{}Hash Algorithm: {}",
263 indent_s,
264 format_oid(params.hash_algorithm_oid()),
265 );
266 print!("{}Mask Generation Function: ", indent_s);
267 if let Ok(mask_gen) = params.mask_gen_algorithm() {
268 println!(
269 "{}/{}",
270 format_oid(&mask_gen.mgf),
271 format_oid(&mask_gen.hash),
272 );
273 } else {
274 println!("INVALID");
275 }
276 println!(
277 "{}pSourceFunc: {}",
278 indent_s,
279 format_oid(¶ms.p_source_alg().algorithm),
280 );
281 }
282 }
283 }
284 Err(e) => {
285 eprintln!("Could not parse signature algorithm: {}", e);
286 println!(" Signature Algorithm:");
287 print_x509_digest_algorithm(signature_algorithm, indent);
288 }
289 }
290}
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