OPENSSL-SKEYUTL(1SSL)

πŸ’– OPENSSL-SKEYUTL πŸ’–

okay bestie, this is the openssl-skeyutl page from the OpenSSL manual β€” the whole vibe is opaque symmetric keys routines and honestly? it's giving key-management main character energy πŸ‘‘


✨ NAME ✨

openssl-skeyutl β€” opaque symmetric keys routines πŸ”πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

openssl skeyutl [-help] [-cipher cipher] [-skeymgmt skeymgmt] [-skeyopt
opt:value] [-genkey] [-provider name] [-provider-path path] [-provparam
[name:]key=value] [-propquery propq]

no cap, that's the whole shape of it πŸ’…


🌸 DESCRIPTION 🌸

So here's the tea: not all cipher implementations support keys as raw bytes. like, not every cipher wants to show you its whole self 😭

For example, PKCS#11 tokens can store keys internally and there's just… no option to get the raw byte representation. it's private, it's mysterious, it's keeping its secrets 🫢

This tool is designed for managing opaque symmetric keys. periodt. that's the job, that's the gig πŸ’–


πŸ‘‘ OPTIONS πŸ‘‘

  • -help β€” print out a usage message. your lil helpful bestie, always there πŸ₯°
  • -cipher cipher β€” the cipher to generate the key for. pick your cipher, bestie πŸ”₯
  • -skeymgmt skeymgmt β€” so some providers may support opaque symmetric keys objects, and to use them we need to know the skeymgmt. if you don't specify it, the name of the cipher will be used instead β€” auto-fill, slay ✨

To find out the name of the suitable symmetric key management, please refer to the output of the "openssl list -skey-managers" command. that command is your bestie, go ask it πŸ¦‹

  • -skeyopt opt:value β€” to obtain an existing opaque symmetric key or to generate a new one, key options are specified as opt:value. important though: these options can't be used together with any options implying raw key, either directly or indirectly. not even a little. do not mix them, i'm serious πŸš«πŸ’€
  • -genkey β€” generate a new opaque key object. fresh key, brand new, glowing 🌟
  • -provider name
  • -provider-path path
  • -provparam [name:]key=value
  • -propquery propq β€” see "Provider Options" in openssl(1), provider(7), and property(7). go read those if you want the full provider lore πŸ“šπŸ’œ

πŸ¦‹ SEE ALSO πŸ¦‹

openssl-enc(1), EVP_SKEY(3)

friends of the family, go say hi πŸ’ž


⭐ HISTORY ⭐

The skeyutl command was added in OpenSSL 3.5. new-ish era, iconic behavior πŸ‘‘


Copyright 2025 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.


and that's the whole page bestie!!

this vibe check was brought to you by OpenSSL 4.0.3, dated 2026-09-29 🌈✨ mwah, go read your keys πŸ’…πŸ’–

πŸ“¦ where this page comes from