# Install ykpers with Homebrew, apk, dnf, MacPorts, pacman, zypper

YubiKey personalization library and tool. Version 1.20.0 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:ykpers
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ykpers
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ykpers
```

  Evidence: MacPorts ports tree: security/ykpers/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add ykpers
```

  Evidence: Alpine Linux edge package indexes: ykpers from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install ykpers
```

  Evidence: Fedora Rawhide package metadata: ykpers from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- pacman (92%):

```sh
sudo pacman -S yubikey-personalization
```

  Evidence: Arch Linux sync databases: yubikey-personalization from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install libykpers-1-1
```

  Evidence: openSUSE Tumbleweed package metadata: libykpers-1-1 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:ykpers
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ykpers>
- **Version:** 1.20.0
- **Source summary:** YubiKey personalization library and tool
- **Homepage:** <https://developers.yubico.com/yubikey-personalization/>
- **Repository:** <https://github.com/Yubico/yubikey-personalization>
- **Upstream docs:** <https://developers.yubico.com/yubikey-personalization>
- **License:** BSD-2-Clause
- **Source archive:** <https://developers.yubico.com/yubikey-personalization/Releases/ykpers-1.20.0.tar.gz>
- **Last updated:** 2026-06-22T14:06:44-07:00
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- ykchalresp (cli)
- ykinfo (cli)
- ykpersonalize (cli)
- ykchalresp (alias)
- ykinfo (alias)
- ykpersonalize (alias)

## Dependencies

- json-c
- libyubikey

## Build dependencies

- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.20.0
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://developers.yubico.com/yubikey-personalization/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

YubiKey Personalization, packaged as `ykpers`, is Yubico's older C library and command-line toolset for programming YubiKey OTP slots. Its commands, especially `ykpersonalize`, belong to the era when setting AES keys, public identities, private identities, static passwords, and challenge-response behavior was the central local administration task for YubiKey tokens.

### Project history

The yubikey-personalization repository was created on 2010-12-21 and describes the package as a cross-platform library and command-line tool used to personalize, meaning set an AES key on, YubiKeys. Its README documents a classic Autoconf C project using libusb, optional JSON output, udev rules, manpages generated from AsciiDoc, and companion tools such as `ykpersonalize`, `ykchalresp`, and `ykinfo`.

The tool's documentation is intentionally low level. It warns that using `ykpersonalize` can destroy the AES key in a YubiKey and make it unusable against Yubico's validation server unless a new key is uploaded. That warning captures the package's historical role: it was not just a viewer, but a provisioning utility for the OTP secrets embedded in physical tokens.

Yubico has since moved the ecosystem forward. The GitHub repository is archived, and Yubico's developer page says the YubiKey Personalization package was announced for end of life on 2025-02-19 and will reach end of life on 2026-02-19.

### Adoption history

`ykpers` spread widely because early YubiKey deployments needed local programming and inspection tools for OTP slots. The package appears across Homebrew, Debian/Fedora-family packaging, Arch as `yubikey-personalization`, MacPorts, and openSUSE naming, reflecting the normal Unix distribution path for a hardware-token provisioning library.

Its adoption later became legacy adoption. As YubiKeys gained FIDO U2F/FIDO2, PIV, OATH, OpenPGP, and richer management surfaces, administrators increasingly needed `ykman` and related newer tools, while `ykpers` remained important for old OTP workflows and historical compatibility.

### How it is used

The core command is `ykpersonalize`, used to write OTP-slot configuration such as fixed identity, private identity, AES key, ticket flags, static-ticket mode, strong-password options, access codes, and challenge-response behavior. `ykchalresp` and `ykinfo` cover adjacent challenge-response and device-information workflows.

Because it programs token secrets, `ykpers` is a trust-boundary tool. It requires local device permissions and can permanently alter how a YubiKey authenticates, which is why its README and manpages are more like provisioning documentation than ordinary CLI help.

### Why package nerds care

`ykpers` is a useful package-history marker for the YubiKey ecosystem: it shows the original OTP personalization model before modern multi-application YubiKey management became the norm.

For package nerds, it is also a concrete example of hardware support as distro infrastructure: libusb access, udev rules, manpages, C libraries, and CLI tools had to be packaged correctly so security hardware could be administered outside vendor GUIs.

### Timeline

- 2010-12-21: Yubico creates the yubikey-personalization GitHub repository.
- 2010s: `ykpersonalize`, `ykchalresp`, and `ykinfo` are packaged across Unix-like systems for OTP slot provisioning and inspection.
- 2023-12-22: Last recorded push in the archived GitHub repository metadata.
- 2025-02-19: Yubico announces end of life for the YubiKey Personalization package.
- 2026-02-19: Yubico's developer page states the package will reach end of life.

### Related projects

- YubiKey Manager (`ykman`) is the maintained successor-style CLI for broader YubiKey configuration.
- yubico-c provides related YubiKey OTP parsing/support pieces referenced by the personalization README.
- ykneomgr and u2f-host appear in older workflows for modes outside OTP on earlier YubiKey generations.

### Sources

- <https://api.github.com/repos/Yubico/yubikey-personalization>
- <https://developers.yubico.com/yubikey-personalization/>
- <https://developers.yubico.com/yubikey-personalization/Manuals/ykpersonalize.1.html>
- <https://github.com/Yubico/yubikey-personalization>
- <https://raw.githubusercontent.com/Yubico/yubikey-personalization/master/README>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** ykpers
- **Aliases:** yubikey-personalization
- **Version Scheme:** 0
- **Revision:** 2
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** yes
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- apk - ykpers - 1.20.0-r2: normalized package name match | Alpine Linux edge package indexes: ykpers from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | YubiKey Personalization library and tool | https://developers.yubico.com/yubikey-personalization/
- apk - ykpers-dev - 1.20.0-r2: normalized package name match | Alpine Linux edge package indexes: ykpers-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | YubiKey Personalization library and tool (development files) | https://developers.yubico.com/yubikey-personalization/
- apk - ykpers-doc - 1.20.0-r2: normalized package name match | Alpine Linux edge package indexes: ykpers-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | YubiKey Personalization library and tool (documentation) | https://developers.yubico.com/yubikey-personalization/
- apk - ykpers-udev - 1.20.0-r2: normalized package name match | Alpine Linux edge package indexes: ykpers-udev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | YubiKey Personalization library and tool (udev rules) | https://developers.yubico.com/yubikey-personalization/
- dnf - ykpers - 1.20.0-18.fc44: normalized package name match | Fedora Rawhide package metadata: ykpers from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Yubikey personalization program | http://opensource.yubico.com/yubikey-personalization/
- dnf - ykpers-devel - 1.20.0-18.fc44: normalized package name match | Fedora Rawhide package metadata: ykpers-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for ykpers | http://opensource.yubico.com/yubikey-personalization/
- pacman - yubikey-personalization - 1.20.0-5: normalized package name match | Arch Linux sync databases: yubikey-personalization from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Yubico YubiKey Personalization library and tool | https://github.com/Yubico/yubikey-personalization
- zypper - libykpers-1-1 - 1.20.0-3.16: normalized package name match | openSUSE Tumbleweed package metadata: libykpers-1-1 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Reference implementation for configuration of YubiKeys | https://developers.yubico.com/yubikey-personalization/
- zypper - libykpers-devel - 1.20.0-3.16: normalized package name match | openSUSE Tumbleweed package metadata: libykpers-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development files for the ykpers library | https://developers.yubico.com/yubikey-personalization/
- zypper - ykpers - 1.20.0-3.16: normalized package name match | openSUSE Tumbleweed package metadata: ykpers from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Reference implementation for configuration of YubiKeys | https://developers.yubico.com/yubikey-personalization/
- MacPorts - ykpers: normalized package name match | MacPorts ports tree: security/ykpers/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Security and crypto packages](https://www.automicvault.com/pkg/security-crypto-tools/) - Matched security, identity, cryptography, password, signing, or certificate metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [libyubikey](https://www.automicvault.com/pkg/brew/libyubikey/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [ykman](https://www.automicvault.com/pkg/brew/ykman/) - Shares av.db curated category or tags: cli, hardware-tokens, security, yubikey.
- [botan](https://www.automicvault.com/pkg/brew/botan/) - Shares av.db curated category or tags: cli, library, security.
- [cracklib](https://www.automicvault.com/pkg/brew/cracklib/) - Shares av.db curated category or tags: cli, library, security.
- [cyrus-sasl](https://www.automicvault.com/pkg/brew/cyrus-sasl/) - Shares av.db curated category or tags: cli, library, security.
- [gnutls](https://www.automicvault.com/pkg/brew/gnutls/) - Shares av.db curated category or tags: cli, library, security.
- [libcap](https://www.automicvault.com/pkg/brew/libcap/) - Shares av.db curated category or tags: cli, library, security.
- [libcap-ng](https://www.automicvault.com/pkg/brew/libcap-ng/) - Shares av.db curated category or tags: cli, library, security.
- [yubico-piv-tool](https://www.automicvault.com/pkg/brew/yubico-piv-tool/) - Security-sensitive metadata or terminology overlaps. Shared terms: cli, hardware, security, yubikey.
- [libu2f-server](https://www.automicvault.com/pkg/brew/libu2f-server/) - Both packages work with overlapping file formats or content types. Shared terms: cli, json, json-c, security.

## Combined YAML source

View the package source record on GitHub. [combined/ykpers.yml](https://github.com/automic-vault/db/blob/main/combined/ykpers.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
