ReFineID beta

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.

FINEID

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

SystemPath to the cardStatus
Fedora 44PKCS#11 / Firefox / p11-kithardware-proven
NetBSD 10PKCS#11 / Firefoxhardware-proven
FreeBSD 14PKCS#11 / Firefoxuntested
macOSCryptoTokenKit / Safarialpha
Windowsminidriver / Edge / SChannelalpha
iOSCoreNFC / CTK / Safariprototype
AndroidNFC / USB / in-appplanned

download

Get the source

@TARBALL@ @SIZE@ MB / source / Apache-2.0

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.

maintainer

Who's behind it

I'm Petri Koistinen, the main maintainer of this project. Reach me by email at petri.koistinen@iki.fi (also iMessage and FaceTime). An issue tracker will live at github.com/ReFineID as the code matures toward a release on GitHub.