xrdgsitest(1)

πŸ’– xrdgsitest(1) β€” the girlies' guide to testing GSI crypto πŸ’–

okay bestie, so xrdgsitest is a little utility that lives in the General Commands Manual section, and it's here to run the crypto vibes check for GSI. no cap, it's literally in the name. let's get into it 🫢

✨ NAME ✨

xrdgsitest β€” test crypto functionality relevant for the GSI implementation

like, it pokes at the crypto stuff to make sure it still slays πŸ”₯

✨ SYNOPSIS ✨

xrdgsitest [-h, --help] [-v, --verbose]

that's it. that's the whole vibe. two flags, both optional, both iconic πŸ’…

✨ DESCRIPTION ✨

so the xrdgsitest utility runs a few tests of the crypto functionality implemented in XrdCrypto that matters for the XrdSecgsi module. we're talking handling of certificates, proxies, chains, verification, and similar actions β€” the whole little ensemble cast πŸŽ€

it's giving "run the tests, see the PASSEDs, feel good about your life" ✨

✨ OPTIONS ✨

  • -h, --help β€” display help 🌸 (a request for guidance, and honestly? same)
  • -v, --verbose β€” Print very detailed information about the tests. like, very detailed. she will tell you EVERYTHING and honestly we love that for her 😭

✨ FILES ✨

okay so real talk β€” the program needs access to a user certificate file and its private key, plus the related CA file(s). the CRL gets downloaded using the info it finds in the CA certificate (yes, she goes and fetches it herself, main character energy πŸ‘‘). the location of the files is the standard ones, and you can modify them with the standard environment variables:

  • X509_USER_CERT β€” [$HOME/.globus/usercert.pem] β€” the user certificate πŸŽ€
  • X509_USER_KEY β€” [$HOME/.globus/userkey.pem] β€” the user private key πŸ”‘
  • X509_USER_PROXY β€” [/tmp/x509up_u<uid>] β€” the user proxy πŸ¦‹
  • X509_CERT_DIR β€” [/etc/grid-security/certificates/] β€” the CA certificates and CRL directories 🌸
note bestie: those brackets are the defaults, so if you don't set anything, that's where she's looking. no cap. πŸ’…

✨ OUTPUT ✨

the output is a list of PASSED/FAILED tests, similar to this whole masterpiece:

$ xrdgsitest
       ||
       ---------------------------------------------------------------------------------
       || Crypto functionality tests for GSI
       ----------------------------------------------
       ||
       ---------------------------------------------------------------------------------
       || Loading EEC
       .............................................................
       PASSED
       || Loading User Proxy
       ......................................................  PASSED
       ||
       ---------------------------------------------------------------------------------
       || Recreate the proxy certificate
       --------------------------------------------------
       Enter PEM pass phrase:
       || Recreating User Proxy
       ...................................................  PASSED
       ||
       ---------------------------------------------------------------------------------
       || Load CA certificates
       ------------------------------------------------------------
       || Loading CA certificate
       ..................................................  PASSED
       || Loading CA certificate
       ..................................................  PASSED
       ||
       ---------------------------------------------------------------------------------
       || Testing ParseFile
       ---------------------------------------------------------------
       || Chain reorder:
       .........................................................  PASSED
       || Chain verify:
       ..........................................................
       PASSED
       ||
       ---------------------------------------------------------------------------------
       || Testing ExportChain
       -------------------------------------------------------------
       || Attach to X509ExportChain
       ...............................................  PASSED
       ||
       ---------------------------------------------------------------------------------
       || Testing Chain Import
       ------------------------------------------------------------
       || Chain reorder:
       .........................................................  PASSED
       || Chain verify:
       ..........................................................
       PASSED
       ||
       ---------------------------------------------------------------------------------
       || Testing GSI chain import and verification
       ---------------------------------------
       || GSI chain verify:
       ......................................................  PASSED
       ||
       ---------------------------------------------------------------------------------
       || Testing GSI chain copy
       ----------------------------------------------------------
       || GSI chain verify:
       ......................................................  PASSED
       ||
       ---------------------------------------------------------------------------------
       || Testing Cert verification
       -------------------------------------------------------
       || verify cert: EE signed by CA
       ............................................  PASSED
       || verify cert: PX signed by EE
       ............................................  PASSED
       || verify cert: PX not signed by CA
       ........................................  PASSED
       ||
       ---------------------------------------------------------------------------------
       || Testing request creation
       --------------------------------------------------------
       || Creating request
       ........................................................  PASSED
       ||
       ---------------------------------------------------------------------------------
       || Testing request signature
       -------------------------------------------------------
       || Check proxyCertInfo extension
       ...........................................  PASSED
       ||
       ---------------------------------------------------------------------------------
       || Testing export of signed proxy
       --------------------------------------------------
       || Saving signed proxy chain to file
       .......................................  PASSED
       ||
       ---------------------------------------------------------------------------------
       || Testing CRL identification
       ------------------------------------------------------
       || Check CRL distribution points extension OK
       ..............................  PASSED
       ||
       ---------------------------------------------------------------------------------
       || Testing CRL loading
       -------------------------------------------------------------
       --2016-12-12 19:31:36--
       http://cafiles.cern.ch/cafiles/crl/CERN%20Root%20Certification%20Authority%202.crl
       Resolving cafiles.cern.ch (cafiles.cern.ch)... 137.138.4.52,
       2001:1458:201:96::100:26
       Connecting to cafiles.cern.ch
       (cafiles.cern.ch)|137.138.4.52|:80... connected.
       HTTP request sent, awaiting response... 200 OK
       Length: 1097 (1.1K) [application/pkix-crl]
       Saving to: β€˜/tmp/5168735f.0.crltmp’

       /tmp/5168735f.0.crltmp
       100%[========================================================================>]
       1.07K  --.-KB/s    in 0s

       2016-12-12 19:31:36 (383 MB/s) - β€˜/tmp/5168735f.0.crltmp’ saved
       [1097/1097]

       || Loading CA1 crl
       .........................................................  PASSED
       || CRL signature OK
       ........................................................  PASSED
       ||
       ---------------------------------------------------------------------------------

and listen β€” the result of each test can be interleaved with details when the verbose option is chosen. so if you want the ✨commentary track✨, pass -v and buckle up πŸ“


✨ LICENSE ✨

license terms can be displayed by typing xrootd -H 🧚

(yes, that's the whole license section, she said "go look it up bestie" and honestly? valid.)

✨ SUPPORT LEVEL ✨

the xrdgsitest command is supported by the xrootd collaboration. contact information can be found at

https://xrootd.org/contact.html

so if something's weird, they've got you 🫢


and that's the whole page, bestie!! 🌈 this was xrdgsitest in all her glory, fresh from v6.2.0 of the xrootd world β€” go run your crypto tests, get those PASSEDs, and have the most slay day πŸ’–βœ¨πŸ‘‘ periodt.

πŸ“¦ where this page comes from