Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/rust/cose/examples/sign_verify/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 1 kB image not shown  

Quelle  test_nss.rs   Sprache: unbekannt

 
use test_setup as test;
use nss;
use nss::NSSError;
use SignatureAlgorithm;

pub fn test_nss_sign_verify() {
    test::setup();
    let payload = b"sample";

    // Sign.
    let signature_result = nss::sign(&SignatureAlgorithm::ES256, &test::PKCS8_P256_EE, payload);
    assert!(signature_result.is_ok());
    let signature_result = signature_result.unwrap();

    // Verify the signature.
    assert!(
        nss::verify_signature(
            &SignatureAlgorithm::ES256,
            &test::P256_EE,
            payload,
            &signature_result,
        ).is_ok()
    );
}

pub fn test_nss_sign_verify_different_payload() {
    test::setup();
    let payload = b"sample";

    // Sign.
    let signature_result = nss::sign(&SignatureAlgorithm::ES256, &test::PKCS8_P256_EE, payload);
    assert!(signature_result.is_ok());
    let signature_result = signature_result.unwrap();

    // Verify the signature with a different payload.
    let payload = b"sampli";
    let verify_result = nss::verify_signature(
        &SignatureAlgorithm::ES256,
        &test::P256_EE,
        payload,
        &signature_result,
    );
    assert!(verify_result.is_err());
    assert_eq!(verify_result, Err(NSSError::SignatureVerificationFailed));
}

pub fn test_nss_sign_verify_wrong_cert() {
    test::setup();
    let payload = b"sample";

    // Sign.
    let signature_result = nss::sign(&SignatureAlgorithm::ES256, &test::PKCS8_P256_EE, payload);
    assert!(signature_result.is_ok());
    let signature_result = signature_result.unwrap();

    // Verify the signature with a wrong cert.
    let verify_result = nss::verify_signature(
        &SignatureAlgorithm::ES256,
        &test::P384_EE,
        payload,
        &signature_result,
    );
    assert!(verify_result.is_err());
    assert_eq!(verify_result, Err(NSSError::SignatureVerificationFailed));
}

[ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ]