diff --git a/cryptoki/src/session/object_management.rs b/cryptoki/src/session/object_management.rs index 14968d9..3cec80d 100644 --- a/cryptoki/src/session/object_management.rs +++ b/cryptoki/src/session/object_management.rs @@ -486,9 +486,9 @@ impl Session { pub fn get_attribute_info_map( &self, object: ObjectHandle, - attributes: Vec, + attributes: &[AttributeType], ) -> Result> { - let attrib_info = self.get_attribute_info(object, attributes.as_slice())?; + let attrib_info = self.get_attribute_info(object, attributes)?; Ok(attributes .iter() diff --git a/cryptoki/tests/basic.rs b/cryptoki/tests/basic.rs index 41d87e6..6f54db3 100644 --- a/cryptoki/tests/basic.rs +++ b/cryptoki/tests/basic.rs @@ -1197,8 +1197,11 @@ fn get_attribute_info_test() -> TestResult { session.generate_key_pair(&mechanism, &pub_key_template, &priv_key_template)?; let pub_attribs = vec![AttributeType::PublicExponent, AttributeType::Modulus]; - let mut priv_attribs = pub_attribs.clone(); - priv_attribs.push(AttributeType::PrivateExponent); + let mut priv_attribs = [ + AttributeType::PublicExponent, + AttributeType::Modulus, + AttributeType::PrivateExponent, + ]; let attrib_info = session.get_attribute_info(public, &pub_attribs)?; let hash = pub_attribs @@ -1239,7 +1242,7 @@ fn get_attribute_info_test() -> TestResult { _ => panic!("Private Exponent of RSA private key should be sensitive"), } - let hash = session.get_attribute_info_map(private, priv_attribs)?; + let hash = session.get_attribute_info_map(private, &priv_attribs)?; if let AttributeInfo::Available(size) = hash[&AttributeType::Modulus] { assert_eq!(size, 2048 / 8); } else {