Skip to content

Commit 87ce7c3

Browse files
author
Kiril Nikolov
committed
rename feature
1 parent 819afd7 commit 87ce7c3

File tree

5 files changed

+36
-14
lines changed

5 files changed

+36
-14
lines changed

src/crypto/ecdsa.rs

+17-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
#[cfg(feature = "use_aws_lc_rs")]
1+
#[cfg(feature = "fips")]
22
use aws_lc_rs as ring;
33

4-
#[cfg(not(feature = "use_aws_lc_rs"))]
4+
#[cfg(not(feature = "fips"))]
55
use ring;
66

77
use ring::{rand, signature};
@@ -32,6 +32,7 @@ pub(crate) fn alg_to_ec_signing(alg: Algorithm) -> &'static signature::EcdsaSign
3232

3333
/// The actual ECDSA signing + encoding
3434
/// The key needs to be in PKCS8 format
35+
#[cfg(not(feature = "fips"))]
3536
pub fn sign(
3637
alg: &'static signature::EcdsaSigningAlgorithm,
3738
key: &[u8],
@@ -42,3 +43,17 @@ pub fn sign(
4243
let out = signing_key.sign(&rng, message)?;
4344
Ok(b64_encode(out))
4445
}
46+
47+
/// The actual ECDSA signing + encoding
48+
/// The key needs to be in PKCS8 format
49+
#[cfg(feature = "fips")]
50+
pub fn sign(
51+
alg: &'static signature::EcdsaSigningAlgorithm,
52+
key: &[u8],
53+
message: &[u8],
54+
) -> Result<String> {
55+
let rng = rand::SystemRandom::new();
56+
let signing_key = signature::EcdsaKeyPair::from_pkcs8(alg, key)?;
57+
let out = signing_key.sign(&rng, message)?;
58+
Ok(b64_encode(out))
59+
}

src/crypto/eddsa.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
#[cfg(feature = "use_aws_lc_rs")]
1+
#[cfg(feature = "fips")]
22
use aws_lc_rs as ring;
33

4-
#[cfg(not(feature = "use_aws_lc_rs"))]
4+
#[cfg(not(feature = "fips"))]
55
use ring;
66

77
use crate::algorithms::Algorithm;

src/crypto/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
#[cfg(feature = "use_aws_lc_rs")]
1+
#[cfg(feature = "fips")]
22
use aws_lc_rs as ring;
33

4-
#[cfg(not(feature = "use_aws_lc_rs"))]
4+
#[cfg(not(feature = "fips"))]
55
use ring;
66

77
use ring::constant_time::verify_slices_are_equal;

src/crypto/rsa.rs

+13-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
#[cfg(feature = "use_aws_lc_rs")]
1+
#[cfg(feature = "fips")]
22
use aws_lc_rs as ring;
33

4-
#[cfg(not(feature = "use_aws_lc_rs"))]
4+
#[cfg(not(feature = "fips"))]
55
use ring;
66

77
use ring::{rand, signature};
@@ -47,10 +47,7 @@ pub(crate) fn sign(
4747
let key_pair = signature::RsaKeyPair::from_der(key)
4848
.map_err(|e| ErrorKind::InvalidRsaKey(e.to_string()))?;
4949

50-
#[cfg(feature = "use_aws_lc_rs")]
51-
let mut signature = vec![0; key_pair.public_modulus_len()];
52-
#[cfg(not(feature = "use_aws_lc_rs"))]
53-
let mut signature = vec![0; key_pair.public().modulus_len()];
50+
let mut signature = get_signature(&key_pair);
5451

5552
let rng = rand::SystemRandom::new();
5653
key_pair.sign(alg, &rng, message, &mut signature).map_err(|_| ErrorKind::RsaFailedSigning)?;
@@ -70,3 +67,13 @@ pub(crate) fn verify_from_components(
7067
let res = pubkey.verify(alg, message, &signature_bytes);
7168
Ok(res.is_ok())
7269
}
70+
71+
#[cfg(feature = "fips")]
72+
fn get_signature(key_pair: &signature::RsaKeyPair) -> Vec<u8> {
73+
vec![0; key_pair.public_modulus_len()]
74+
}
75+
76+
#[cfg(not(feature = "fips"))]
77+
fn get_signature(key_pair: &signature::RsaKeyPair) -> Vec<u8> {
78+
vec![0; key_pair.public().modulus_len()]
79+
}

src/errors.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
#[cfg(feature = "use_aws_lc_rs")]
1+
#[cfg(feature = "fips")]
22
use aws_lc_rs as ring;
33

4-
#[cfg(not(feature = "use_aws_lc_rs"))]
4+
#[cfg(not(feature = "fips"))]
55
use ring;
66
use std::error::Error as StdError;
77
use std::fmt;

0 commit comments

Comments
 (0)