From ccae9efeace2afaf484185689662162e3270cabf Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Wed, 10 Jul 2024 10:25:30 -0400 Subject: [PATCH] Migrate `keys` to declarative modules API (#11236) refs #11158 --- src/rust/src/backend/keys.rs | 18 ++++++------------ src/rust/src/backend/mod.rs | 1 - src/rust/src/lib.rs | 2 ++ 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/rust/src/backend/keys.rs b/src/rust/src/backend/keys.rs index 649bea38cbeb..c16ff8628c2c 100644 --- a/src/rust/src/backend/keys.rs +++ b/src/rust/src/backend/keys.rs @@ -2,7 +2,6 @@ // 2.0, and the BSD License. See the LICENSE file in the root of this repository // for complete details. -use pyo3::types::PyModuleMethods; use pyo3::IntoPy; use crate::backend::utils; @@ -221,17 +220,12 @@ fn public_key_from_pkey( } } -pub(crate) fn create_module( - py: pyo3::Python<'_>, -) -> pyo3::PyResult> { - let m = pyo3::types::PyModule::new_bound(py, "keys")?; - - m.add_function(pyo3::wrap_pyfunction_bound!(load_pem_private_key, &m)?)?; - m.add_function(pyo3::wrap_pyfunction_bound!(load_der_private_key, &m)?)?; - m.add_function(pyo3::wrap_pyfunction_bound!(load_der_public_key, &m)?)?; - m.add_function(pyo3::wrap_pyfunction_bound!(load_pem_public_key, &m)?)?; - - Ok(m) +#[pyo3::pymodule] +pub(crate) mod keys { + #[pymodule_export] + use super::{ + load_der_private_key, load_der_public_key, load_pem_private_key, load_pem_public_key, + }; } #[cfg(test)] diff --git a/src/rust/src/backend/mod.rs b/src/rust/src/backend/mod.rs index 1f703485b970..5a035ed2c8be 100644 --- a/src/rust/src/backend/mod.rs +++ b/src/rust/src/backend/mod.rs @@ -32,7 +32,6 @@ pub(crate) fn add_to_module(module: &pyo3::Bound<'_, pyo3::types::PyModule>) -> module.add_submodule(&dh::create_module(module.py())?)?; module.add_submodule(&dsa::create_module(module.py())?)?; module.add_submodule(&ec::create_module(module.py())?)?; - module.add_submodule(&keys::create_module(module.py())?)?; module.add_submodule(&ed25519::create_module(module.py())?)?; #[cfg(all(not(CRYPTOGRAPHY_IS_LIBRESSL), not(CRYPTOGRAPHY_IS_BORINGSSL)))] diff --git a/src/rust/src/lib.rs b/src/rust/src/lib.rs index aad485d1afcc..a3f24fac429a 100644 --- a/src/rust/src/lib.rs +++ b/src/rust/src/lib.rs @@ -148,6 +148,8 @@ mod _rust { #[pymodule_export] use super::super::{is_fips_enabled, openssl_version, openssl_version_text}; #[pymodule_export] + use crate::backend::keys::keys; + #[pymodule_export] use crate::error::{capture_error_stack, raise_openssl_error, OpenSSLError}; #[pymodule_init]