diff --git a/openssl/src/pkcs12.rs b/openssl/src/pkcs12.rs index 9f014af6..31864802 100644 --- a/openssl/src/pkcs12.rs +++ b/openssl/src/pkcs12.rs @@ -196,6 +196,17 @@ mod test { "c0cbdf7cdd03c9773e5468e1f6d2da7d5cbb1875"); } + #[test] + fn parse_empty_chain() { + let der = include_bytes!("../test/keystore-empty-chain.p12"); + let pkcs12 = Pkcs12::from_der(der).unwrap(); + let parsed = pkcs12.parse("cassandra").unwrap(); + + + assert_eq!(parsed.chain.len(), 0); + assert_eq!(parsed.chain.into_iter().collect::>().len(), 0); + } + #[test] fn create() { let subject_name = "ns.example.com"; diff --git a/openssl/test/keystore-empty-chain.p12 b/openssl/test/keystore-empty-chain.p12 new file mode 100644 index 00000000..c39930a5 Binary files /dev/null and b/openssl/test/keystore-empty-chain.p12 differ