Skip to content

spruceid/r2d2-cryptoki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a7e3eeb · Jun 20, 2024

History

7 Commits
Feb 11, 2023
Jun 20, 2024
Feb 11, 2023
Feb 11, 2023
Jun 20, 2024
Aug 23, 2023

Repository files navigation

r2d2 adaptor for cryptoki

Crates.io Documentation

Session pool manager for cryptoki.

Example

use r2d2_cryptoki::{*, cryptoki::{context::*, types::AuthPin}};

let pkcs11 = Pkcs11::new("libsofthsm2.so").unwrap();
pkcs11.initialize(CInitializeArgs::OsThreads).unwrap();
let slots = pkcs11.get_slots_with_token().unwrap();
let slot = slots.first().unwrap();
let manager = SessionManager::new(pkcs11, *slot, SessionType::RwUser(AuthPin::new("fedcba".to_string())));

let pool = r2d2::Pool::builder().build(manager).unwrap();

let session = pool.get().unwrap();
println!("{:?}", session.get_session_info().unwrap());