hardware-enclave 0.1.5

Hardware-backed key management — macOS Secure Enclave, Windows TPM 2.0, Linux TPM/keyring — plus in-process memory protection
Documentation
// Copyright 2026 Jay Gowdy
// SPDX-License-Identifier: MIT

//! Stub implementation for non-Windows targets. WebAuthn is a
//! Windows-only API; on macOS/Linux every entry point reports
//! `NotAvailable` so workspace-wide builds and `cargo check` keep
//! working without needing per-target conditional compilation in
//! every consumer.
#![allow(dead_code, unused_imports, unused_qualifications, unreachable_patterns)]

use super::{Result, WebAuthnAssertion, WebAuthnCredential, WebAuthnError};

#[derive(Debug, Clone)]
pub struct MakeCredentialParams<'params> {
    pub rp_id: &'params str,
    pub rp_name: &'params str,
    pub user_id: &'params [u8],
    pub user_name: &'params str,
    pub user_display_name: &'params str,
    pub timeout_ms: u32,
    pub hwnd: Option<isize>,
}

#[derive(Debug, Clone)]
pub struct GetAssertionParams<'params> {
    pub rp_id: &'params str,
    pub credential_id: &'params [u8],
    pub client_data: &'params [u8],
    pub timeout_ms: u32,
    pub hwnd: Option<isize>,
}

pub fn is_platform_authenticator_available() -> bool {
    false
}

pub fn make_credential(_params: MakeCredentialParams<'_>) -> Result<WebAuthnCredential> {
    Err(WebAuthnError::NotAvailable)
}

pub fn get_assertion(_params: GetAssertionParams<'_>) -> Result<WebAuthnAssertion> {
    Err(WebAuthnError::NotAvailable)
}

pub fn delete_platform_credential(_credential_id: &[u8]) -> Result<()> {
    Err(WebAuthnError::NotAvailable)
}