pub struct SecurityManager { /* private fields */ }Expand description
Security utilities for the SDK.
Implementations§
Source§impl SecurityManager
impl SecurityManager
pub fn new(config: SecurityConfig) -> Self
Sourcepub fn mask_api_key(&self, api_key: &str) -> String
pub fn mask_api_key(&self, api_key: &str) -> String
Mask sensitive information in API key for logging.
Sourcepub fn generate_security_headers(&self, request_id: &str) -> Result<HeaderMap>
pub fn generate_security_headers(&self, request_id: &str) -> Result<HeaderMap>
Generate security headers for requests.
Sourcepub fn validate_request_size(&self, content_length: usize) -> Result<()>
pub fn validate_request_size(&self, content_length: usize) -> Result<()>
Validate request size for DoS protection.
Sourcepub fn generate_timestamp(&self) -> u64
pub fn generate_timestamp(&self) -> u64
Generate a timestamp for request signing.
Sourcepub fn validate_timestamp(
&self,
timestamp: u64,
tolerance_secs: u64,
) -> Result<()>
pub fn validate_timestamp( &self, timestamp: u64, tolerance_secs: u64, ) -> Result<()>
Validate timestamp to prevent replay attacks.
Sourcepub fn sanitize_url(&self, url: &str) -> Result<String>
pub fn sanitize_url(&self, url: &str) -> Result<String>
Sanitize URL to prevent injection attacks.
Sourcepub fn validate_response(&self, response_body: &str) -> Result<()>
pub fn validate_response(&self, response_body: &str) -> Result<()>
Validate API response for potential security issues.
Sourcepub fn generate_nonce(&self) -> String
pub fn generate_nonce(&self) -> String
Generate a nonce for request signing.
Sourcepub fn create_request_signature(
&self,
method: &str,
url: &str,
api_key: &str,
body: &str,
timestamp: u64,
nonce: &str,
) -> String
pub fn create_request_signature( &self, method: &str, url: &str, api_key: &str, body: &str, timestamp: u64, nonce: &str, ) -> String
Create a secure request signature (basic implementation).
Sourcepub fn verify_tls_config(&self) -> Result<()>
pub fn verify_tls_config(&self) -> Result<()>
Verify SSL/TLS configuration.
Auto Trait Implementations§
impl Freeze for SecurityManager
impl RefUnwindSafe for SecurityManager
impl Send for SecurityManager
impl Sync for SecurityManager
impl Unpin for SecurityManager
impl UnwindSafe for SecurityManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more