Add regression test for Ed25519KeyPair::generate_pkcs8().

This commit is contained in:
Brian Smith 2023-10-01 19:38:23 -07:00
parent 3d592b27bf
commit a73bd052a7

View File

@ -13,7 +13,7 @@
// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
use ring::{
error,
error, rand,
signature::{self, Ed25519KeyPair, KeyPair},
test, test_file,
};
@ -187,6 +187,20 @@ fn test_ed25519_from_pkcs8_(
);
}
#[test]
fn ed25519_test_generate_pkcs8() {
let rng = rand::SystemRandom::new();
let generated = signature::Ed25519KeyPair::generate_pkcs8(&rng).unwrap();
let generated = generated.as_ref();
let _ronudtripped = signature::Ed25519KeyPair::from_pkcs8(generated.as_ref()).unwrap();
// Regression test: Verify we're generating the correct encoding, as
// `Ed25519KeyPair::from_pkcs8` also accepts our old wrong encoding.
assert_eq!(generated.len(), 19 + 32 + 32);
assert_eq!(&generated[..2], &[0x30, 0x51]);
}
#[test]
fn ed25519_test_public_key_coverage() {
const PRIVATE_KEY: &[u8] = include_bytes!("ed25519_test_private_key.p8");