jose-util(1)

🌈 NAME 🌈

jose-util β€” bestie, it's a command-line utility for dealing with JOSE objects. That's the whole vibe. Manual section 1, entry one, no notes. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

jose-util [<flags>] <command> [<args> ...]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so go-jose is out here trying to give the world a full implementation of the Javascript Object Signing and Encryption set of standards. Iconic behaviour honestly.

That means it's got your back with support for JSON Web Encryption, JSON Web Signature, and JSON Web Token standards. Three whole standards, one little CLI. Ate. πŸ”₯


πŸ’… OPTIONS πŸ’…

These are your top-level flags, the ones that work before you even pick a command. ✨

  • --help β€” shows you context-sensitive help. Obsessed with a tool that knows what you're looking at. She's also got --help-long and --help-man if you want the extended director's cut πŸ’–
  • --key=KEY β€” the path to your key file, if that applies to what you're doing. Accepts PEM, DER, or JWK format. Pick your fighter πŸŽ€
  • --in=IN β€” path to your input file, when relevant. If you leave it out she just reads from stdin, chill like that.
  • --out=OUT β€” path to your output file, when relevant. Leave it out and she writes to stdout. Effortless queen. πŸ‘‘
  • --version β€” shows the application version. Simple, honest, no gatekeeping.

πŸ” encrypt β€” encrypt a plaintext, output ciphertext

encrypt --alg=ALG --enc=ENC [<flags>]
  • --alg=ALG β€” the key management algorithm. Like RSA-OAEP, for example.
  • --enc=ENC β€” the content encryption algorithm. Like A128GCM, for example.
  • --full β€” use the JSON Serialization format instead of compact. She's giving structured, she's giving verbose, she's giving full. ✨

πŸ”“ decrypt β€” decrypt a ciphertext, output plaintext

That's it. That's the job. Ciphertext goes in, plaintext comes out. Understood the assignment. 🫢


✍️ sign β€” sign a payload, output signed message

sign --alg=ALG [<flags>]
  • --alg=ALG β€” the key management algorithm. Like RSA-OAEP, for example.
  • --full β€” use the JSON Serialization format instead of compact.

βœ… verify β€” verify a signed message, output payload

You give her a signed message, she gives you back the payload. Trust but verify, bestie. πŸ’€


πŸͺ„ expand β€” expand JOSE object to JSON Serialization format

expand [<flags>]
  • --format=FORMAT β€” tells her what type of message you want expanded. It's either JWS or JWE, and it defaults to JWE if you don't say.

🧬 b64decode β€” decode a base64-encoded payload

And she's smart about it too β€” this one auto-selects standard/url-safe. No cap, she just figures it out. 🌸


πŸ”‘ generate-key β€” generate a public/private key pair in JWK format

generate-key --use=USE --alg=ALG [<flags>]

Fresh keys, made to order, JWK format, house-made. πŸ’œ

  • --use=USE β€” the desired public key usage (that's the use header). It's one of [enc sig] β€” pick one, you can't have both.
  • --alg=ALG β€” the desired key pair algorithm (that's the alg header).
  • --size=SIZE β€” the key size, in bits. Like 2048 if you're generating an RSA key, for example.
  • --kid=KID β€” an optional Key ID (the kid header). If you don't set one, she generates a random kid for you. Honestly? Queen behaviour. πŸŽ€

πŸ™ˆ REPORTING BUGS πŸ™ˆ

Found a bug? Spotted something cursed? Please visit the riscemu issues tracking system at:

https://github.com/go-jose/go-jose/issues

They'd genuinely love to hear from you, fr fr. πŸ›


πŸ‘‘ AUTHORS πŸ‘‘

This manual page was written by Bo YU <tsu.yubo@gmail.com> for the Debian project. Respect the author, she did the work. 🫢


and that's the whole page, bestie ✨ this was jose-util, version 4.1.4, dated 17 July 2026. stay encrypted, stay iconic, mwah πŸ’–

πŸ“¦ where this page comes from