ReFineID
Libre Finnish electronic identity.
A PKCS#11 module for the Finnish electronic identity card. Load it into Firefox, put the card in a reader, and log in to services like Suomi.fi, on Linux and the BSDs.
what it is
Use your ID card to log in to websites
ReFineID exposes your card's authentication certificate through PKCS#11 (the interface Firefox and other TLS tools already speak) and has the card itself sign the login handshake. The private key never leaves the chip. One small module, built from source.
betaLogin-only. Certificate login and signing work. PIN change is off in this build.
where it runs
Platforms
| System | Path to the card | Status |
|---|---|---|
| Fedora 44 | PKCS#11 / Firefox / p11-kit | hardware-proven |
| NetBSD 10 | PKCS#11 / Firefox | hardware-proven |
| FreeBSD 14 | PKCS#11 / Firefox | untested |
| macOS | CryptoTokenKit / Safari | alpha |
| Windows | minidriver / Edge / SChannel | alpha |
| iOS | CoreNFC / CTK / Safari | prototype |
| Android | NFC / USB / in-app | planned |
download
Get the source
sha256 @SHA256@
verify
$ curl -O https://www.refineid.fi/beta/src/@TARBALL@ $ shasum -a 256 @TARBALL@ # must match above $ tar xf @TARBALL@ && cd @PREFIX@
on your machine
Build & install
You need a PC/SC stack, the NSS tools, and Rust 1.91+. Packaged Rust works (pkgsrc, current distros); grab rustup only if yours is older.
linux & *bsd
# install the PC/SC stack, NSS tools, and Rust # Fedora $ sudo dnf install pcsc-lite ccid nss-tools pkgconf-pkg-config rust cargo # Debian / Ubuntu $ sudo apt install pcscd libpcsclite-dev libnss3-tools pkg-config rustc cargo # NetBSD (as root) # pkgin install pcsc-lite ccid pcsc-tools nss rust # start the PC/SC daemon # Linux $ sudo systemctl enable --now pcscd # NetBSD (as root) # echo pcscd=YES >> /etc/rc.conf && service pcscd start # build $ cargo build --release -p refineid-pkcs11 -> target/release/librefineid_pkcs11.so
Register it in Firefox: Settings / Privacy & Security / Security Devices / Load, name it ReFineID, and point it at the built
librefineid_pkcs11.so. Then insert the card, identify at a FINEID service (Suomi.fi / identify / certificate card) and enter PIN1.