HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
str4d
age-plugin-yubikey
Rust2021–2026
str4d / age-plugin-yubikey

age-plugin-yubikey

YubiKey plugin for age

11Distinct people
17Mentions
0Explicit recommenders
1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

YubiKey plugin for age

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year17 dated mentions

Observed mentions: 2021-09-06 21:55:33 UTC to 2026-04-06 21:19:42 UTC.

02462021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC505
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC615
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC312
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC202

What Hacker News says

17 sources
If you are doing authentication with those hardware keys, you will probably be fine, if we do our job fast enough. Apple's Secure Enclave already supports some PQ signatures (although annoyingly not ML-DSA-44 apparently?) and I trust Yubico is working on it. If you are doing encryption, then you do have reason to worry, and there aren't great options right now. For example if you are using age you should switch to hybrid software ML-KEM-768 + hardware P-256 keys as soon as they are available (https://github.com/str4d/age-plugin-yubikey/pull/215). This might be a scenario in which hybrids provide some protection, so that an attacker will need to compromise both your OS and have a CRQC. In the meantime, depending on your threat model and the longevity of your secrets (and how easily they can rotated in 1-2 years), it might make sense to swi
Read the rest
tch to software PQ keys.
In A cryptography engineer's perspective on quantum computing timelines
> if you're "genuinely" asking questions, you might want to be careful about back-loading them with assertions that suggest you already believe you know the answer I don't know the answers. English is not my language, so I express myself as best as I can. I just re-read my answer above, and what you are saying isn't obvious to me. Not saying you're wrong: most likely you are right. Maybe I should write in my first language and hope that people translate it :-). I am just saying that it's often worth assuming good faith. It's not the first time I try to ask when I see criticism of PGP, and I still don't have answers. I am not saying PGP is great: just that I can actually use it with my hardware keys everywhere I need to. When I search for "minisign", I find different repositories from different authors I don't know. Is it better to use PGP
Read the rest
or to use some alternative from the first result given by my search engine? Some other thoughts (all are things I can currently do with PGP): * age is written in Go, so I assume it won't work on Android. Are there alternatives that support Android? I haven't found any. * rage is written in rust. Assuming it is trustworthy (it's not the same author as age), I haven't seen any information about Android. * The age-plugin-yubikey doesn't seem to work on Android [4] * It's really not clear to me if minisign works with hardware keys [1][2]. There is an "experimental" fork by Yubico, but it hasn't been updated in a year [3]. Not sure about other hardware keys. [1]: https://github.com/jedisct1/minisign/issues/100 [2]: https://github.com/jedisct1/minisign/issues/95 [3]: https://github.com/YubicoLabs/minisign-fido/ [4]: https://github.com/str4d/age-plugin-yubikey/issues/109
In Operational PGP (2015)
_o/ hi all, age author here! age is the one of my projects that grew most organically into an ecosystem. It's always great to see what people build with it. Happy to answer any questions. Here are some previous discussions 132 points on Feb 26, 2023 | 77 comments | https://news.ycombinator.com/item?id=34936504 126 points on Sept 26, 2022 | 54 comments | https://news.ycombinator.com/item?id=32980141 113 points on June 11, 2022 | 33 comments | https://news.ycombinator.com/item?id=31705670 494 points on Sept 6, 2021 | 88 comments | https://news.ycombinator.com/item?id=28435613 466 points on Dec 27, 2019 | 199 comments | https://news.ycombinator.com/item?id=21895671 and here some related resources - a list of age ecosystem projects https://github.com/FiloSottile/awesome-age - the format specification https://c2sp.org/age - the Go library docs
Read the rest
https://pkg.go.dev/filippo.io/age - the CLI man page https://filippo.io/age/age.1 - the large reusable test suite (which I should write about!) https://c2sp.org/CCTV/age - an interoperable Rust implementation by @str4d https://github.com/str4d/rage - an official TypeScript implementation https://github.com/FiloSottile/typage (based on libsodium.js in the latest version, and on pure-js Noble libraries on main) - a YubiKey plugin by @str4d https://github.com/str4d/age-plugin-yubikey - the plugin protocol specification https://c2sp.org/age-plugin - a Windows GUI by @spieglt https://github.com/spieglt/winage - a discussion of the authentication properties of age https://words.filippo.io/dispatches/age-authentication/ - a discussion of the plugin architecture https://words.filippo.io/dispatches/age-plugins/ - a discussion of a potential post-quantum plugin https://words.filippo.io/dispatches/post-quantum-age/ - a password-store fork that uses age instead of gpg https://github.com/FiloSottile/passage (see also: how I use it with a YubiKey https://words.filippo.io/dispatches/passage/)
In Age is a simple, modern and secure file encryption tool, format, and Go library
_o/ hi all, age author here! The OP link is the spec, here's a few other things you might find interesting - the Go reference implementation https://age-encryption.org - the Go library docs https://pkg.go.dev/filippo.io/age - the CLI man page https://filippo.io/age/age.1 - the large reusable test suite (which I should write about!) https://c2sp.org/CCTV/age - an interoperable Rust implementation by @str4d https://github.com/str4d/rage - a YubiKey plugin by @str4d https://github.com/str4d/age-plugin-yubikey - the draft plugin protocol specification (which we should really merge) https://github.com/C2SP/C2SP/pull/5/files?short_path=07bf8cc... - a Windows GUI by @spieglt https://github.com/spieglt/winage - a discussion of the authentication properties of age https://words.filippo.io/dispatches/age-authentication/ - a discussion of a potentia
Read the rest
l post-quantum plugin https://words.filippo.io/dispatches/post-quantum-age/ - a password-store fork that uses age instead of gpg https://github.com/FiloSottile/passage (see also: how I use it with a YubiKey https://words.filippo.io/dispatches/passage/) (Yes I should make a website to collate all this.) Happy to answer any questions!
In Age: Modern file encryption format with multiple pluggable recipients
> A good feature of PIV applet of Yubikey 5 is that it stores 24 keys. Note that not all 24 of those keys are suitable for age usage. The 4 main keys have specific usage definitions in the PIV specification that mean hardware tokens alter how those key slots behave. Only one of them (the KeyManagement slot) has a definition that allows encryption, and even that I was somewhat suspicious of overlapping with, as I couldn't predict how those existing keys were being used, and didn't want to support every possible key type that might be in that slot (which users likely wouldn't be able to alter). age-plugin-yubikey avoids this complexity by only interacting with the 20 "retired" slots, which have no constraining definitions. (I am considering adding restricted support for the KeyManagement slot specifically for CAC card users who aren't allow
Read the rest
ed to add new keys to their cards [0], but this would be behind a default-off feature flag to keep the primary UX simple.) [0] https://github.com/str4d/age-plugin-yubikey/issues/62
In age v1.1.0-rc.1: plugin and YubiKeys support
> and also a mobile app that can do this (right now I use PasswordStore on Android, which communicates with OpenKeyChain which is basically GPG for Android with a nice shell around it). So I use the Yubikey over NFC there (though USB is also possible if you really want), to access my passwords. It works pretty well after some initial hiccups. The age plugin system and its currently-specified IPC [0] focuses on easy interoperability via plugin discovery in the PATH. This works very well for native desktop applications (and even between e.g. a Windows host and WSL guest [1]), but obviously not for web or mobile. I'm not optimistic about dynamic plugin discovery ever being feasible for web, but in theory alternate plugin-discovery mechanisms could be figured out for mobile (e.g. Android Intents). Fortunately, the age plugin system is _also_
Read the rest
a relatively thin wrapper around the core age concepts of Recipients and Identities, so it's possible to write code for an age plugin that can also be used directly as a library! I haven't tried this with age-plugin-yubikey yet specifically, but it should be possible (after some refactoring) to produce a library that can be used to statically include support for YubiKeys directly in an age mobile app, backed by whatever Android library is currently used to provide YubiKey PIV access. [0] https://github.com/C2SP/C2SP/pull/5 [1] https://github.com/str4d/age-plugin-yubikey#windows-subsyste...
In Ask HN: CLI Tool for File Encryption?
We designed the plugin protocol (https://hackmd.io/@str4d/age-plugin-spec) and generally the age recipient/identity structure specifically to enable the use of hardware or remote keys! For example, https://github.com/str4d/age-plugin-yubikey makes it very easy to use PIV tokens, including YubiKeys, with age. (Well, for now with rage, since plugin support is coming in age v1.1.0.) I argue against password-protecting keys by default because, unlike using hardware tokens, it doesn't protect against many threat models.
In Passage: A fork of password-store that uses age instead of GnuPG
This whole thread is off-topic (talking about AEAD in a post about signing), but: You can use age's AEAD encryption with Yubikeys. Yubikeys can do ECDHE in PIV mode. I wrote https://github.com/tv42/yubage as a subprocess plugin to https://github.com/str4d/rage (and hopefully https://github.com/FiloSottile/age once they think plugins are stable in enough to go in the reference implementation). The rage author also wrote their https://github.com/str4d/age-plugin-yubikey
In Sign arbitrary data with your SSH keys

Showing the 15 most recent of 17 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.