Cappy Ishihara<p><span>Recently, I've been working on a secrets management library in Rust that uses TPM (Trusted Platform Module) 2.0 to encrypt data. It's eventually going to be exposed as a Freedesktop Secrets API provider.<br><br>I codenamed it </span><b>"Ashura"</b><span> after Ado's banger Doctor-X intro song.<br><br>While building this, I realized the TSS ESAPI is powerful but seriously painful to use directly in Rust. That got me thinking: should I write a crate to wrap ESAPI in an idiomatic, ergonomic Rust interface? Something more flexible than FAPI, but far more approachable for developers. I spent hours wrestling with ESAPI just to get it to do the basics — holy crap, the learning curve is steep.<br><br>If you’re curious (or want to suffer with me), here’s the Ashura source code:<br><br></span><a href="https://github.com/FyraLabs/ashura" rel="nofollow noopener" target="_blank">https://github.com/FyraLabs/ashura</a><span><br><br>I’m open to feedback on any level — design, code, naming, whatever, or war stories regarding working with TPMs or just HSMs in general (Hello, Apple Secure Enclave!) </span><a href="https://fedi.fyralabs.com/tags/tpm" rel="nofollow noopener" target="_blank">#tpm</a> <a href="https://fedi.fyralabs.com/tags/encryption" rel="nofollow noopener" target="_blank">#encryption</a> <a href="https://fedi.fyralabs.com/tags/security" rel="nofollow noopener" target="_blank">#security</a> <a href="https://fedi.fyralabs.com/tags/rust" rel="nofollow noopener" target="_blank">#rust</a> <a href="https://fedi.fyralabs.com/tags/encryptionmanagement" rel="nofollow noopener" target="_blank">#encryptionmanagement</a></p>