Replace json with serde_json (#92)
This commit is contained in:
+1
-1
@@ -44,7 +44,6 @@ zeroize = { version = "1.5", default-features = false }
|
|||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
generic-array = { version = "0.14", features = ["more_lengths"] }
|
generic-array = { version = "0.14", features = ["more_lengths"] }
|
||||||
hex = "0.4"
|
hex = "0.4"
|
||||||
json = "0.12"
|
|
||||||
p256 = { version = "0.12", default-features = false, features = [
|
p256 = { version = "0.12", default-features = false, features = [
|
||||||
"hash2curve",
|
"hash2curve",
|
||||||
"voprf",
|
"voprf",
|
||||||
@@ -52,6 +51,7 @@ p256 = { version = "0.12", default-features = false, features = [
|
|||||||
proptest = "1"
|
proptest = "1"
|
||||||
rand = "0.8"
|
rand = "0.8"
|
||||||
regex = "1"
|
regex = "1"
|
||||||
|
serde_json = "1"
|
||||||
sha2 = "0.10"
|
sha2 = "0.10"
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ use digest::core_api::BlockSizeUser;
|
|||||||
use digest::OutputSizeUser;
|
use digest::OutputSizeUser;
|
||||||
use generic_array::typenum::{IsLess, IsLessOrEqual, Sum, U256};
|
use generic_array::typenum::{IsLess, IsLessOrEqual, Sum, U256};
|
||||||
use generic_array::ArrayLength;
|
use generic_array::ArrayLength;
|
||||||
use json::JsonValue;
|
use serde_json::Value;
|
||||||
|
|
||||||
use crate::tests::mock_rng::CycleRng;
|
use crate::tests::mock_rng::CycleRng;
|
||||||
use crate::tests::parser::*;
|
use crate::tests::parser::*;
|
||||||
@@ -40,7 +40,7 @@ struct VOPRFTestVectorParameters {
|
|||||||
output: Vec<Vec<u8>>,
|
output: Vec<Vec<u8>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
fn populate_test_vectors(values: &JsonValue) -> VOPRFTestVectorParameters {
|
fn populate_test_vectors(values: &Value) -> VOPRFTestVectorParameters {
|
||||||
VOPRFTestVectorParameters {
|
VOPRFTestVectorParameters {
|
||||||
seed: decode(values, "Seed"),
|
seed: decode(values, "Seed"),
|
||||||
sksm: decode(values, "skSm"),
|
sksm: decode(values, "skSm"),
|
||||||
@@ -57,14 +57,14 @@ fn populate_test_vectors(values: &JsonValue) -> VOPRFTestVectorParameters {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn decode(values: &JsonValue, key: &str) -> Vec<u8> {
|
fn decode(values: &Value, key: &str) -> Vec<u8> {
|
||||||
values[key]
|
values[key]
|
||||||
.as_str()
|
.as_str()
|
||||||
.and_then(|s| hex::decode(s).ok())
|
.and_then(|s| hex::decode(s).ok())
|
||||||
.unwrap_or_default()
|
.unwrap_or_default()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn decode_vec(values: &JsonValue, key: &str) -> Vec<Vec<u8>> {
|
fn decode_vec(values: &Value, key: &str) -> Vec<Vec<u8>> {
|
||||||
let s = values[key].as_str().unwrap();
|
let s = values[key].as_str().unwrap();
|
||||||
let res = match s.contains(',') {
|
let res = match s.contains(',') {
|
||||||
true => Some(s.split(',').map(|x| hex::decode(x).unwrap()).collect()),
|
true => Some(s.split(',').map(|x| hex::decode(x).unwrap()).collect()),
|
||||||
@@ -76,8 +76,10 @@ fn decode_vec(values: &JsonValue, key: &str) -> Vec<Vec<u8>> {
|
|||||||
macro_rules! json_to_test_vectors {
|
macro_rules! json_to_test_vectors {
|
||||||
( $v:ident, $cs:expr, $mode:expr ) => {
|
( $v:ident, $cs:expr, $mode:expr ) => {
|
||||||
$v[$cs][$mode]
|
$v[$cs][$mode]
|
||||||
.members()
|
.as_array()
|
||||||
.map(|x| populate_test_vectors(&x))
|
.into_iter()
|
||||||
|
.flatten()
|
||||||
|
.map(populate_test_vectors)
|
||||||
.collect::<Vec<VOPRFTestVectorParameters>>()
|
.collect::<Vec<VOPRFTestVectorParameters>>()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -86,7 +88,7 @@ macro_rules! json_to_test_vectors {
|
|||||||
fn test_vectors() -> Result<()> {
|
fn test_vectors() -> Result<()> {
|
||||||
use p256::NistP256;
|
use p256::NistP256;
|
||||||
|
|
||||||
let rfc = json::parse(rfc_to_json(super::cfrg_vectors::VECTORS).as_str())
|
let rfc: Value = serde_json::from_str(rfc_to_json(super::cfrg_vectors::VECTORS).as_str())
|
||||||
.expect("Could not parse json");
|
.expect("Could not parse json");
|
||||||
|
|
||||||
#[cfg(feature = "ristretto255")]
|
#[cfg(feature = "ristretto255")]
|
||||||
|
|||||||
Reference in New Issue
Block a user