Skip to content

Commit 289edd4

Browse files
src: Apply formatting
Signed-off-by: Tomás González <tomasagustin.gonzalezorlando@arm.com>
1 parent eddea9f commit 289edd4

File tree

3 files changed

+199
-187
lines changed

3 files changed

+199
-187
lines changed

parsec-openssl-provider/src/keymgmt/mod.rs

Lines changed: 74 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ impl ParsecProviderKeyObject {
5959
}
6060
}
6161

62-
// Ec supported curve name
62+
// Ec supported curve name. This is the only supported curve name.
6363
const EC_CURVE_NAME: &str = "prime256v1\0";
6464
/*
6565
should create a provider side key object. The provider context provctx is passed and may be incorporated
@@ -138,25 +138,28 @@ pub unsafe extern "C" fn parsec_provider_kmgmt_rsa_get_params(
138138
keydata: VOID_PTR,
139139
params: *mut OSSL_PARAM,
140140
) -> std::os::raw::c_int {
141-
let result = super::r#catch(Some(|| super::Error::PROVIDER_KEYMGMT_GET_PARAMS), || {
142-
if keydata.is_null() || params.is_null() {
143-
Err("Null pointer received as parameter".into())
144-
} else {
145-
Arc::increment_strong_count(keydata as *const RwLock<ParsecProviderKeyObject>);
146-
let key_data = Arc::from_raw(keydata as *const RwLock<ParsecProviderKeyObject>);
147-
let reader_key_data = key_data.read().unwrap();
141+
let result = super::r#catch(
142+
Some(|| super::Error::PROVIDER_KEYMGMT_RSA_GET_PARAMS),
143+
|| {
144+
if keydata.is_null() || params.is_null() {
145+
Err("Null pointer received as parameter".into())
146+
} else {
147+
Arc::increment_strong_count(keydata as *const RwLock<ParsecProviderKeyObject>);
148+
let key_data = Arc::from_raw(keydata as *const RwLock<ParsecProviderKeyObject>);
149+
let reader_key_data = key_data.read().unwrap();
148150

149-
if let Some(public_key) = reader_key_data.get_rsa_key() {
150-
let modulus = public_key.modulus.as_unsigned_bytes_be();
151+
if let Some(public_key) = reader_key_data.get_rsa_key() {
152+
let modulus = public_key.modulus.as_unsigned_bytes_be();
151153

152-
locate_and_set_int_param(OSSL_PKEY_PARAM_BITS, modulus.len() * 8, params)?;
153-
locate_and_set_int_param(OSSL_PKEY_PARAM_SECURITY_BITS, 112, params)?;
154-
locate_and_set_int_param(OSSL_PKEY_PARAM_MAX_SIZE, modulus.len(), params)?;
155-
}
154+
locate_and_set_int_param(OSSL_PKEY_PARAM_BITS, modulus.len() * 8, params)?;
155+
locate_and_set_int_param(OSSL_PKEY_PARAM_SECURITY_BITS, 112, params)?;
156+
locate_and_set_int_param(OSSL_PKEY_PARAM_MAX_SIZE, modulus.len(), params)?;
157+
}
156158

157-
Ok(OPENSSL_SUCCESS)
158-
}
159-
});
159+
Ok(OPENSSL_SUCCESS)
160+
}
161+
},
162+
);
160163

161164
match result {
162165
Ok(result) => result,
@@ -178,55 +181,59 @@ fn get_ec_secbits(bits: usize) -> usize {
178181
if bits < 512 {
179182
return 192;
180183
}
181-
return 256;
184+
256
182185
}
183186

184187
pub unsafe extern "C" fn parsec_provider_ecdsa_kmgmt_get_params(
185188
keydata: VOID_PTR,
186189
params: *mut OSSL_PARAM,
187190
) -> std::os::raw::c_int {
188-
let result = super::r#catch(Some(|| super::Error::PROVIDER_KEYMGMT_GET_PARAMS), || {
189-
if keydata.is_null() || params.is_null() {
190-
Err("Null pointer received as parameter".into())
191-
} else {
192-
Arc::increment_strong_count(keydata as *const RwLock<ParsecProviderKeyObject>);
193-
let key_data = Arc::from_raw(keydata as *const RwLock<ParsecProviderKeyObject>);
194-
let reader_key_data = key_data.read().unwrap();
191+
let result = super::r#catch(
192+
Some(|| super::Error::PROVIDER_KEYMGMT_ECDSA_GET_PARAMS),
193+
|| {
194+
if keydata.is_null() || params.is_null() {
195+
Err("Null pointer received as parameter".into())
196+
} else {
197+
Arc::increment_strong_count(keydata as *const RwLock<ParsecProviderKeyObject>);
198+
let key_data = Arc::from_raw(keydata as *const RwLock<ParsecProviderKeyObject>);
199+
let reader_key_data = key_data.read().unwrap();
195200

196-
let key_name = match reader_key_data.key_name {
197-
None => return Err("Key name is not set".to_string().into()),
198-
Some(ref name) => name,
199-
};
201+
let key_name = match reader_key_data.key_name {
202+
None => return Err("Key name is not set".to_string().into()),
203+
Some(ref name) => name,
204+
};
200205

201-
let key_attrs = reader_key_data
202-
.provctx
203-
.get_client()
204-
.key_attributes(key_name)
205-
.map_err(|e| format!("Failed to retrived key attributes: {}", e))?;
206-
207-
if let Ok(ptr) = openssl_returns_nonnull(openssl_bindings::OSSL_PARAM_locate(
208-
params,
209-
OSSL_PKEY_PARAM_GROUP_NAME.as_ptr() as *const std::os::raw::c_char,
210-
)) {
211-
let mut s = EC_CURVE_NAME.to_string();
212-
(*ptr).data_type = OSSL_PARAM_UTF8_STRING;
213-
(*ptr).return_size = s.len();
214-
std::ptr::copy(s.as_mut_ptr() as _, (*ptr).data, s.len());
206+
let key_attrs = reader_key_data
207+
.provctx
208+
.get_client()
209+
.key_attributes(key_name)
210+
.map_err(|e| format!("Failed to retrived key attributes: {}", e))?;
211+
212+
if let Ok(ptr) = openssl_returns_nonnull(openssl_bindings::OSSL_PARAM_locate(
213+
params,
214+
OSSL_PKEY_PARAM_GROUP_NAME.as_ptr() as *const std::os::raw::c_char,
215+
)) {
216+
// This is the only supported curve name
217+
let mut s = EC_CURVE_NAME.to_string();
218+
(*ptr).data_type = OSSL_PARAM_UTF8_STRING;
219+
(*ptr).return_size = s.len();
220+
std::ptr::copy(s.as_mut_ptr() as _, (*ptr).data, s.len());
221+
}
222+
let _ = locate_and_set_int_param(OSSL_PKEY_PARAM_BITS, key_attrs.bits, params);
223+
let _ = locate_and_set_int_param(
224+
OSSL_PKEY_PARAM_SECURITY_BITS,
225+
get_ec_secbits(key_attrs.bits),
226+
params,
227+
);
228+
let _ = locate_and_set_int_param(
229+
OSSL_PKEY_PARAM_MAX_SIZE,
230+
3 + (key_attrs.bits + 4) * 2,
231+
params,
232+
);
233+
Ok(OPENSSL_SUCCESS)
215234
}
216-
let _ = locate_and_set_int_param(OSSL_PKEY_PARAM_BITS, key_attrs.bits, params);
217-
let _ = locate_and_set_int_param(
218-
OSSL_PKEY_PARAM_SECURITY_BITS,
219-
get_ec_secbits(key_attrs.bits),
220-
params,
221-
);
222-
let _ = locate_and_set_int_param(
223-
OSSL_PKEY_PARAM_MAX_SIZE,
224-
(3 + (key_attrs.bits + 4) * 2).try_into().unwrap(),
225-
params,
226-
);
227-
Ok(OPENSSL_SUCCESS)
228-
}
229-
});
235+
},
236+
);
230237

231238
match result {
232239
Ok(result) => result,
@@ -458,12 +465,9 @@ pub unsafe extern "C" fn parsec_provider_ecdsa_kmgmt_import(
458465
.psa_export_public_key(
459466
std::str::from_utf8(key_name).map_err(|e| format!("{:?}", e))?,
460467
)
461-
.map_err(|e| {
462-
format!("Parsec Client failed to export public key: {:?}", e)
463-
})?;
468+
.map_err(|e| format!("Parsec Client failed to export public key: {:?}", e))?;
464469
let mut big_num_context = openssl::bn::BigNumContext::new()?;
465-
let point =
466-
openssl::ec::EcPoint::from_bytes(&group, &point, &mut big_num_context)?;
470+
let point = openssl::ec::EcPoint::from_bytes(&group, &point, &mut big_num_context)?;
467471
writer_key_data.ecdsa_key = Some(point);
468472
} else {
469473
return Err("Invalid key name".to_string().into());
@@ -590,9 +594,7 @@ pub unsafe extern "C" fn parsec_provider_ecdsa_kmgmt_import_types(
590594
static mut IMPORT_TYPES_TABLE: [OSSL_PARAM; 1] = [ossl_param!(); 1];
591595

592596
ONCE_INIT.call_once(|| {
593-
IMPORT_TYPES_TABLE = [
594-
ossl_param!(),
595-
];
597+
IMPORT_TYPES_TABLE = [ossl_param!()];
596598
});
597599

598600
IMPORT_TYPES_TABLE.as_ptr()
@@ -681,13 +683,15 @@ pub unsafe extern "C" fn parsec_provider_ecdsa_kmgmt_match(
681683
group.set_asn1_flag(openssl::ec::Asn1Flag::NAMED_CURVE);
682684

683685
let mut big_num_context = openssl::bn::BigNumContext::new()?;
684-
let are_equal = a.eq(group.as_ref(), b, &mut big_num_context).map_err(|e| format!("Failed to match keys: {}", e))?;
686+
let are_equal = a
687+
.eq(group.as_ref(), b, &mut big_num_context)
688+
.map_err(|e| format!("Failed to match keys: {}", e))?;
685689
if are_equal {
686690
Ok(OPENSSL_SUCCESS)
687691
} else {
688692
Err("Keys do not match".into())
689693
}
690-
},
694+
}
691695
_ => Err("Keys do not match".into()),
692696
}
693697
} else {
@@ -730,7 +734,7 @@ pub unsafe extern "C" fn parsec_provider_kmgmt_rsa_query_operation_name(
730734
pub unsafe extern "C" fn parsec_provider_ecdsa_kmgmt_query_operation_name(
731735
_operation_id: std::os::raw::c_int,
732736
) -> *const std::os::raw::c_char {
733-
return PARSEC_PROVIDER_ECDSA_NAME.as_ptr() as *const std::os::raw::c_char;
737+
PARSEC_PROVIDER_ECDSA_NAME.as_ptr() as *const std::os::raw::c_char
734738
}
735739

736740
const OSSL_FUNC_KEYMGMT_RSA_QUERY_OPERATION_NAME_PTR: KeyMgmtQueryOperationNamePtr =
@@ -768,7 +772,8 @@ const OSSL_FUNC_KEYMGMT_RSA_IMPORT_TYPES_PTR: KeyMgmtImportTypesPtr =
768772
const OSSL_FUNC_KEYMGMT_ECDSA_IMPORT_TYPES_PTR: KeyMgmtImportTypesPtr =
769773
parsec_provider_ecdsa_kmgmt_import_types;
770774
const OSSL_FUNC_KEYMGMT_SET_PARAMS_PTR: KeyMgmtSetParamsPtr = parsec_provider_kmgmt_set_params;
771-
const OSSL_FUNC_KEYMGMT_RSA_GET_PARAMS_PTR: KeyMgmtGetParamsPtr = parsec_provider_kmgmt_rsa_get_params;
775+
const OSSL_FUNC_KEYMGMT_RSA_GET_PARAMS_PTR: KeyMgmtGetParamsPtr =
776+
parsec_provider_kmgmt_rsa_get_params;
772777
const OSSL_FUNC_KEYMGMT_ECDSA_GET_PARAMS_PTR: KeyMgmtGetParamsPtr =
773778
parsec_provider_ecdsa_kmgmt_get_params;
774779
const OSSL_FUNC_KEYMGMT_SETTABLE_PARAMS_PTR: KeyMgmtSettableParamsPtr =

parsec-openssl-provider/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ openssl_errors::openssl_errors! {
116116
PROVIDER_KEYMGMT_ECDSA_IMPORT("parsec_provider_kmgmt_ecdsa_import");
117117
PROVIDER_KEYMGMT_MATCH("parsec_provider_kmgmt_match");
118118
PROVIDER_KEYMGMT_SET_PARAMS("parsec_provider_kmgmt_set_params");
119+
PROVIDER_KEYMGMT_ECDSA_GET_PARAMS("parsec_provider_kmgmt_ecdsa_get_params");
119120
PROVIDER_KEYMGMT_RSA_GET_PARAMS("parsec_provider_kmgmt_rsa_get_params");
120121
PROVIDER_KEYMGMT_VALIDATE("parsec_provider_kmgmt_validate");
121122
PROVIDER_QUERY("parsec_provider_query");

0 commit comments

Comments
 (0)