fn cose_sign1_ec256_text_with_extra_protected()

in src/sign.rs [924:954]


        fn cose_sign1_ec256_text_with_extra_protected() {
            let (ec_private, ec_public) = generate_ec256_test_key();

            let mut protected = HeaderMap::new();
            protected.insert(
                CborValue::Integer(1),
                (SignatureAlgorithm::ES256 as i8).into(),
            );
            protected.insert(CborValue::Integer(15), CborValue::Bytes(b"12".to_vec()));

            let mut unprotected = HeaderMap::new();
            unprotected.insert(CborValue::Integer(4), CborValue::Bytes(b"11".to_vec()));

            let cose_doc1 =
                CoseSign1::new_with_protected(TEXT, &protected, &unprotected, &ec_private).unwrap();
            let cose_doc2 = CoseSign1::from_bytes(&cose_doc1.as_bytes(false).unwrap()).unwrap();

            let (protected, payload) = cose_doc2
                .get_protected_and_payload(Some(&ec_public))
                .unwrap();

            assert_eq!(
                protected.get(&CborValue::Integer(1)),
                Some(&CborValue::Integer(-7)),
            );
            assert_eq!(
                protected.get(&CborValue::Integer(15)),
                Some(&CborValue::Bytes(b"12".to_vec())),
            );
            assert_eq!(payload, TEXT,);
        }