#cryptoki #r2d2 #session #adaptor #context #manager #pool

r2d2-cryptoki

r2d2适配器用于cryptoki

4个版本 (2个破坏性版本)

0.3.0 2024年6月20日
0.2.1 2023年10月13日
0.2.0 2023年8月24日
0.1.0 2023年2月11日

#3 in #adaptor

Download history 75/week @ 2024-04-17 93/week @ 2024-04-24 43/week @ 2024-05-01 84/week @ 2024-05-08 118/week @ 2024-05-15 31/week @ 2024-05-22 2/week @ 2024-05-29 5/week @ 2024-06-12 306/week @ 2024-06-19 255/week @ 2024-06-26 251/week @ 2024-07-03 235/week @ 2024-07-10 318/week @ 2024-07-17 233/week @ 2024-07-24 121/week @ 2024-07-31

每月952次下载

MIT/Apache

16KB
300 行代码,不包括注释

r2d2适配器用于cryptoki

Crates.io Documentation

cryptoki的会话池管理器。

示例

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());

依赖项

~3–8.5MB
~81K SLoC