VOMS-PROXY-INIT(1)

✨ VOMS-PROXY-INIT(1) ✨

okay bestie, sit down, hydrate, because this is the manual page for voms-proxy-init from section 1 of the manual, and honestly? it's a banger πŸ’–


πŸŽ€ NAME πŸŽ€

voms-proxy-init β€” creates a proxy certificate with VOMS extensions. that's it, that's the whole job, and she does it flawlessly πŸ’…


🌸 SYNOPSIS 🌸

voms-proxy-init [options]

just the command and whatever options your heart desires, no positional args, no drama ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the tea is: voms-proxy-init generates a proxy that has your VOMS info baked right in, tucked into an X.509 non critical extension. like a little secret note in your certificate's pocket 🫢

Where do those VOMS attributes even come from? a known VOMS server, bestie. the list of known VOMS servers lives in a vomses configuration file, and the syntax of that file is documented in the vomses man page. wanna point at a custom vomses location? pass the --vomses option and you're golden ✨

heads up: VOMS attributes are only requested if you actually pass the -voms option on the command line, and you use it to say which Virtual Organizations (VOs) you want attributes for. no -voms, no attributes. periodt πŸ’€

VOMS attributes get signed by the VOMS server that issues them. then the signature is verified on the client side using local trust info, which is typically chillin' in /etc/grid-security/vomsdir. the vomsdir structure is documented in the vomsdir man page, and you can point at a custom vomsdir with the --vomsdir option πŸŽ€

the default location of the proxy that voms-proxy-init spits out is:

/tmp/x509up_u<user_id>

where user_id is the effective user id of whoever's running the command. want it somewhere else? the -out option has you covered πŸ’–

πŸ”₯ Requesting VOMS attributes πŸ”₯

you ask for attributes with the -voms option. basic usage looks like this:

voms-proxy-init -voms <voname>

where voname is the name of one of your configured VOs. that command creates a proxy holding a VOMS extension with all group attributes belonging to the user β€” the whole collection, no crumbs left behind πŸ‘‘

VOMS roles are conditional attributes, which means they only get included in a VOMS attribute certificate when you explicitly ask for them. requesting a role looks like:

voms-proxy-init -voms atlas:/atlas/Role=pilot

✨ Ordering requested attributes ✨

typically, VOMS attributes come back in the order you requested them on the command line. for example, this:

voms-proxy-init -voms infngrid:/infngrid/group1 -voms infngrid:/infngrid/Role=pilot

will produce an Attribute Certificate where the primary attribute is /infngrid/group1, followed by /infngrid/Role=pilot, and then by the other attributes belonging to the user. the way the order just works? iconic. and if you wanna be extra about it, -order can also express order requirements πŸ’…

πŸŽ€ Setting the validity period of the generated proxy and attribute certificate πŸŽ€

by default, voms-proxy-init generates a proxy valid for 12 hours, including a VOMS extension valid for the same time (if you requested one). wanna change those windows? use the -valid option, which sets the validity of both the proxy and the AC.

important caveat: the validity of the AC can only be "proposed" by voms-proxy-init, because the AC validity is actually set by the VOMS server, and its maximum value is limited by local VOMS server configuration (typically that max is 24 hours). so don't come for voms-proxy-init if your AC is shorter, she tried her best 😭

🌈 Setting the type of proxy generated by voms-proxy-init 🌈

by default, voms-proxy-init generates a legacy proxy compatible with Globus Toolkit version 2. change that vibe with the -rfc option, which produces an RFC3820 compliant proxy. and if you want a Globus Toolkit version 3 proxy β€” i.e. a draft compliant proxy β€” use -proxyver 3 ✨


πŸ’œ CONFIGURATION πŸ’œ

local configuration for trusted VOs is needed for voms-proxy-init to work properly. no cap. check the vomses(5) and vomsdir(5) man pages for the deets 🫢


πŸ’… OPTIONS πŸ’…

options may be specified using either a - or -- prefix. either one, she's flexible like that πŸ’–

  • -b, --bits <num-bits> β€” number of bits in the key. it's {512|1024|2048|4096} πŸ”
  • --cert <certfile> β€” nonstandard location of the user certificate πŸŽ€
  • --certdir <certdir> β€” nonstandard location of the trusted cert dir πŸ“
  • --conf <file> β€” read options from <file> πŸ“œ
  • --debug β€” enables extra debug output. she gets chatty πŸ—£οΈ
  • --dont_verify_ac β€” skips AC verification. bold move, bestie πŸ™ˆ
  • -f, --failonwarn β€” treat warnings as errors. zero tolerance era πŸ’€
  • --help β€” displays help and exits ✨
  • --hours <hours> β€” sets the generated proxy validity to H hours (default: 12). note that this option only sets the lifetime of the generated proxy β€” use -valid to set the lifetime for both the proxy and the AC ⏰
  • --ignorewarn β€” ignore warnings. live your truth 🌸
  • -k, --key <keyfile> β€” non standard location of the user key πŸ”‘
  • --limited β€” creates a limited proxy πŸ«₯
  • -n, --noregen β€” use an existing proxy certificate to obtain VOMS attributes and to sign the newly generated proxy ♻️
  • --old β€” creates a legacy, GT2 compliant proxy (synonymous with -proxyver 2) πŸ¦•
  • --order <fqan> β€” the fqan given here is set as the primary FQAN if it's present in the list of attributes returned by the server. use this option more than once if you want to set the order for more than one FQAN πŸ“‹
  • --out <proxyfile> β€” non standard location of the generated proxy certificate πŸ’Ύ
  • --path_length <L> β€” allow a chain of at most L proxies to be generated and signed from the proxy created by voms-proxy-init ⛓️
  • --proxyver <2|3|4> β€” sets the type of proxy generated by VOMS proxy init. 2 stands for legacy proxy, 3 for draft proxy, 4 for rfc proxy. use -old or -rfc instead of this option πŸ’…
  • --pwstdin β€” reads private key passphrase from standard input πŸ“₯
  • -q, --quiet β€” quiet mode, minimal output 🀫
  • -r, --rfc β€” creates an RFC 3820 compliant proxy (synonymous with -proxyver 4) πŸ“œ
  • --target <hostname> β€” targets the AC against a specific hostname. multiple targets can be expressed by using this option multiple times 🎯
  • --usage β€” displays help and exits ✨
  • --valid <h:m> β€” sets generated proxy and AC validity to h hours and m minutes (defaults to 12:00). note that the VOMS server could shorten the validity of the issued AC depending on the server configuration βŒ›
  • --verify β€” verifies the validity of the user certificate βœ…
  • --version β€” displays version 🏷️
  • --voms <voms<:fqan>> β€” specifies the VO for which the AC is requested. <:fqan> is optional, and is used to ask for specific attributes (e.g. --voms atlas:/atlas/Role=pilot). this option can be used multiple times to request multiple FQANs for different VOs. the order in which the option appears on the command line influences the order of the issued attributes πŸ‘‘
  • --vomsdir <DIR> β€” sets the path where lsc files and other local VOMS trust anchors will be looked for πŸ”
  • --vomses <vomses file> β€” specifies the name of a VOMSES file from which VOMS server contact information is parsed πŸ“–
  • --vomslife <h:m> β€” sets the validity of the requested VOMS attribute certificate to h hours and m minutes (defaults to the value of the -valid option) ⏳

😭 BUGS 😭

to report bugs or ask for support, use GGUS: https://ggus.eu/pages/home.php

(no gatekeeping, just file it πŸ’–)


πŸ‘‘ AUTHORS πŸ‘‘

  • Enrico Vianello enrico.vianello@cnaf.infn.it
  • Francesco Giacomini francesco.giacomini@cnaf.infn.it

legends, honestly 🌟


🫢 SEE ALSO 🫢

voms-proxy-destroy(1), voms-proxy-info(1), vomses(5), vomsdir(5)


and that's the whole page, bestie πŸ’– this version of the VOMS-PROXY-INIT(1) manual page is dated 2026-10-09, so if you're reading this from the future, hey, slay ✨ mwah, go make some proxies πŸŽ€πŸ’…

πŸ“¦ where this page comes from