ZPCKEY(1)
π zpckey β bestie edition π
okay so you've landed on zpckey(1) from the General Commands Manual and honestly? you came to the right place. grab a snack, we're doing this together π
πΈ NAME πΈ
zpckey β a key management tooling for protected key origins, used by the OpenSSL provider for protected keys (the hbkzpc provider).
β¨ SYNOPSIS β¨
three whole moods, pick your fighter:
zpckey [-h|βhelp] [-V|βversion]
zpckey compose <REQ-ARGS> [<OPT-ARGS>] <ORIGIN-ARGS>
zpckey show <REQ-ARGS> [<OPT-ARGS>]
π DESCRIPTION π
so zpckey is the command that handles key management functions for protected key origins, and it's what the hbkzpc provider uses (that's hbkzpcprovider(7), more on that in SEE ALSO bestie π«Ά).
and like β context matters here. IBM Z and IBM LinuxONE offer different types of cryptographic hardware with different features, including the CP Assist for Cryptographic Functions (CPACF) and the IBM Crypto Express (CEX) features. two icons, different job descriptions π
the CPACF provides functions to perform cryptographic operations with a kind of hardware-backed keys, the so called protected keys. that's the whole vibe.
the CEX cards, meanwhile? they provide secure key generation and storage (secure keys), as well as cryptographic operations with these keys. secure keys and protected keys are Not The Same and the docs are very clear about it, so respect the distinction fr fr.
β OPTIONS β
just the basics, no drama:
-V,--versionβ Show version. the "who even am I" of flags π-h,--helpβ Show short help. for when you're lost but cute about it
π¦ ZPCKEY COMPOSE π¦
okay so the compose command supports the composition of protected key origins, which can be used for the hbkzpc provider. this is the main character of the whole page ngl β¨
π Required Arguments:
these are non-negotiable, no skipping:
-t,--origin-type <otype>β Protected key origin type-a,--origin-alg <oalg>β Protected key origin algorithm
π Protected key origin types (<otype>):
literally so many choices (there is one):
uv: Ultravisor retrievable secrets
π Protected key origin algorithms (<oalg>):
okay this list ate, look at all these options:
prime256v1(alt.:1.2.840.10045.3.1.7)secp384r1(alt.:1.3.132.0.34)secp521r1(alt.:1.3.132.0.35)ED25519(alt.:1.3.101.112)ED448(alt.:1.3.101.113)AES-128AES-192AES-256AES-128-XTSAES-256-XTS
the elliptic curves come with their whole OID government name as an alt, which is iconic tbh π§
π Optional Arguments:
the nice-to-haves, the accessories of the fit:
-p,--pubkey <file>β Public key file-o,--out <file>β Output file--outform <format>β Output file format URI, DER or PEM (default:PEM)-c,--comment <string>β Comment (metadata)-h,--helpβ Show short help
not me pointing out that--outformdefaults toPEMβ it does, quoted, default:PEM. don't forget it π
πΈ Origin Arguments:
okay listen, this part is conditional, so read it carefully:
For <otype> = uv, one out of the following must be specified:
--uv-secret-id <hexstring>β UV secret ID--uv-secret-name <string>β UV secret name
"one out of" β so pick one, not both, not neither. this is a vibe check and the vibe is exactly one π«Ά
π₯ ZPCKEY SHOW π₯
the show command prints information about the key file to stdout. that's it, that's the whole job, and it's valid π
π Required Arguments:
-i,--in <file>β Input file
like, you do have to tell it which file. that's the whole thing.
π Optional Arguments:
--inform <format>β Input file formatPEMorDER(default:PEM)-h,--helpβ Show short help
lil reminder: forshowthe flag is--inform(input), and the default isPEM. forcomposeit was--outform(output), also defaulting toPEM. two different flags, bothPEMby default, don't mix them up bestie π
π SEE ALSO π
go read these next, they're the supporting cast:
and that's the whole page!! this beauty ships with LIBZPC v2 and it's dated 2026 β so yeah, fresh off the press, go compose some protected key origins and slay β¨πππ¦
mwah, ily, rtfm responsibly π
π¦ where this page comes from
- centos-stream 10: libzpc-tools 2.0.1-2.el10 Β· MIT
- centos-stream 9: libzpc-tools 2.0.1-2.el9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms