fn test_generate()

in releases/rust/db_esdk/src/ecdsa.rs [234:279]


            fn test_generate() {
                let alg = Rc::new(ECDSASignatureAlgorithm::ECDSA_P384 {});
                let key_pair = match &*ExternKeyGen(&alg) {
                    _Wrappers_Compile::Result::Success { value } => value.clone(),
                    _Wrappers_Compile::Result::Failure { error } => {
                        panic!("ExternKeyGen Failed : {:?}", error);
                    }
                };

                let (s_key, v_key) = match &*key_pair {
                    Signature::SignatureKeyPair::SignatureKeyPair {
                        signingKey,
                        verificationKey,
                    } => (signingKey, verificationKey),
                };

                let message: ::dafny_runtime::Sequence<u8> =
                    [1u8, 2, 3, 4, 5].iter().cloned().collect();

                let sig = match &*Sign(&alg, &s_key, &message) {
                    _Wrappers_Compile::Result::Success { value } => value.clone(),
                    _Wrappers_Compile::Result::Failure { error } => {
                        panic!("Sign Failed : {:?}", error);
                    }
                };

                let ver: bool = match &*Verify(&alg, &v_key, &message, &sig) {
                    _Wrappers_Compile::Result::Success { value } => value.clone(),
                    _Wrappers_Compile::Result::Failure { error } => {
                        panic!("Verify Failed : {:?}", error);
                    }
                };
                assert!(ver);

                let mut sig_vec: Vec<u8> = sig.iter().collect();
                sig_vec[0] = 42;
                let sig2: ::dafny_runtime::Sequence<u8> = sig_vec.iter().cloned().collect();
                assert!(sig != sig2);
                let ver2: bool = match &*Verify(&alg, &v_key, &message, &sig2) {
                    _Wrappers_Compile::Result::Success { value } => value.clone(),
                    _Wrappers_Compile::Result::Failure { error } => {
                        panic!("Verify Failed : {:?}", error);
                    }
                };
                assert!(!ver2);
            }