use dsa::Components; use pkcs8::{ der::{Decode, Encode}, Document, }; const OPENSSL_PEM_COMPONENTS: &str = include_str!("pems/params.pem"); #[test] fn decode_encode_openssl_components() { let (_, document) = Document::from_pem(OPENSSL_PEM_COMPONENTS).expect("Failed to parse components PEM"); let raw_components = document.as_bytes(); let components = Components::from_der(raw_components).expect("Failed to parse DER into component structure"); let reencoded_components = components .to_der() .expect("Failed to encode components to DER"); assert_eq!(raw_components, reencoded_components); }