User Tools

Site Tools


cn:ccr:aai:howto:godiva:godivacli

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
cn:ccr:aai:howto:godiva:godivacli [2019/05/14 07:53] – created enrico@infn.itcn:ccr:aai:howto:godiva:godivacli [2020/12/05 16:58] (current) – cambio nome host di godiva fserafin@infn.it
Line 1: Line 1:
 +====== godivacli (OSX/Linux command line interface) ======
 +<del>Da scaricare e compilare con:
 +make; make install;
 +
 +per l'help:
 +godivacli --help
 +
 +{{:cn:ccr:aai:howto:godivacli.tar| godivacli (src)}}</del>
 +
 +E' possibile scaricare il codice di godivacli dal seguente repository: [[https://baltig.infn.it/aai/godivacli]]
 +
 +
 +<code>
 +git clone https://baltig.infn.it/aai/godivacli.git
 +cd godivacli
 +make
 +make install
 +</code>
 +
 +
 +Il repository può essere clonato anche via SSH ma è necessario prima fare il login via web su baltig usando le proprie credenziali AAI e poi aggiungere la propria chiave SSH in alto a dx nella gestione del profilo sotto "Settings"-->"SSH Keys" e poi:
 +
 +<code>
 +git clone git@baltig.infn.it:aai/godivacli.git
 +</code>
 +
 +per l'help:
 +<code>
 +godivacli --help
 +</code>
 +
 +Per chiamare le API di GODiVA in maniera autenticata, è possibile passare a godivacli il proprio certificato (oppure il certificato di un servizio).
 +Il formato richiesto da godivacli è di tipo PEM, ed è richiesto che sia la chiave privata concatenata con il suo certificato.
 +
 +
 +Per convertire un certificato DER (.crt .cer .der) in formato PEM
 +
 +<code>
 +openssl x509 -inform der -in server.crt -out crt.pem
 +</code>
 +
 +Per convertire una chiave privata DER in formato PEM
 +<code>
 +openssl rsa -des3 -inform der -in server.key -out key.pem
 +</code>
 +
 +Ora con la chiave privata e il certificato in formato PEM, basterà concatenare i due file con
 +<code>
 +cat key.pem crt.pem > server_cert.pem
 +</code>
 +
 +
 +Per chiamare una API in maniera autenticata possiamo usare:
 +<code>
 +godivacli --cert server_cert.pem --certpwd "[password_chiave_privata]" --cacert TERENA_SSL_CA_3.pem --ufc [codice_fiscale]
 +</code>
 +
 +Scarica il certificato {{ :cn:ccr:aai:howto:terena_ssl_ca_3.zip | Terena SSL CA3}}
 +
 +NOTA: Il comando ''%%--%%ufc'' ritorna il valore l'UUID associato ad un utente, passando in input il codice fiscale. Questo comando non richiederebbe autenticazione, ma è stato usato solo a scopo di esempio.
 +
 +===== Comandi =====
 +Lista dei comandi che è possibile invocare con godivacli
 +
 +=== Opzioni di connessione ===
 +^ Opzione                               ^ Descrizione                                                                  ^ Sintassi                                                       ^
 +| ''<nowiki>--help</nowiki>''           | Stampa il menu di aiuto                                                      | ''<nowiki>godivacli --help</nowiki>''                          |
 +| ''<nowiki>--version</nowiki>''        | Stampa la versione di godivacli                                              | ''<nowiki>godivacli --version</nowiki>''                       |
 +| ''<nowiki>--host <string></nowiki>''  | Imposta il nome host di godiva e la porta (default: godiva.dsi.infn.it:443)  | ''<nowiki>godivacli --host godiva.dsi.infn.it[:443]</nowiki>'' |
 +
 +=== Opzioni per autenticazione con certificato ===
 +^ Comando                     ^ Descrizione                                                                                                                      ^ Sintassi                                                                                ^
 +| ''%%--cert <string>%%''     | Nome file del certificato in formato .pem da utilizzare per l'autenticazione                                                                                                                                             |
 +| ''%%--certpwd <string>%%''  | Imposta la password del certificato                                                                                              |                                                                                         |
 +| ''%%--cacert <string>%%''   | Nome file del CACert in formato .pem del certificato del server (opzionale se già presente tra i CACerts del sistema operativo)  | ''%%godivacli --cert certificato.pem --certpwd "c3rt_p4ssw0rd" --cacert terena.pem%%''  |
 +
 +=== Opzioni per chiamata API ===
 +
 +^ Comando                             ^ Descrizione                                                                                                                                                    ^ Sintassi                                                                                                            ^
 +| ''%%--username%%''                  | Ritorna una username disponibile a partire da ''%%--%%name'' e ''%%--%%surname''                                                                                                                                                                                                   |
 +| ''%%--name <string>%%''             | Parametro ''nome'' per il comando ''%%--%%username''                                                                                                                                                                                                                               |
 +| ''%%--surname <string>%%''          | Parametro ''surname'' per il comando ''%%--%%username''                                                                                                        | ''%%godivacli --username --name mario --surname rossi%%''                                                           |
 +|                                                                                                                                                                                                                                                                                                                       |||
 +| ''%%--rduid <uuid>%%''              | Rimuove la uid di default a partire dall'UUID **nazionale**                                                                                                    | ''%%godivacli --rduid 26a24a4c-5292-11e7-966d-37f7ce510f39%%''                                                      |
 +| ''%%--staai <uuid>%%''              | Sincronizza l'identità su LDAP identificata dall'UUID **nazionale**                                                                                            | ''%%godivacli --staai 26a24a4c-5292-11e7-966d-37f7ce510f39%%''                                                      |
 +| ''%%--sfp <CF|uuid>%%''             | Sincronizza le entry locali con quella nazionale, identificata con CF o UUID **nazionale**                                                                     | ''%%godivacli --sfp 26a24a4c-5292-11e7-966d-37f7ce510f39%%''                                                        |
 +| ''%%--ufc <CF>%%''                  | Ritorna il valore dell'UUID **nazionale** a partire dal CF                                                                                                     | ''%%godivacli --ufc RSSMRA01A01A001K%%''                                                                            |
 +|                                                                                                                                                                                                    |                                                                                                                     |
 +| ''%%--mail <mail@infn.it>%%''       | Parametro ''mail'' per i comandi ''add-mail-alias'' e ''remove-mail-alias''                                                                                    |                                                                                                                     |
 +| ''%%--is-official <1|0>%%''         | Indica se l'indirizzo email specificato debba essere quello ufficiale. Se uguale a ''1'' sarà il valore che comparirà nell'attributo ''mail'' di LDAP          |                                                                                                                     |
 +| ''%%--add-mail-alias <uuid>%%''     | Aggiunge un alias nazionale (formato ''@infn.it'') all'anagrafica relativa all'infnUUID specificato. Da utilizzare con ''%%--mail%%'' e ''%%--is-official%%''  | ''%%godivacli --add-mail-alias 26a24a4c-5292-11e7-966d-37f7ce510f39 --mail mario.rossi@infn.it --is-official 1%%''  |
 +| ''%%--remove-mail-alias <uuid>%%''  | Rimuove l'alias nazionale (formato ''@infn.it'') dall'anagrafica relativa all'infnUUID specificato. Da usare con ''%%--mail <string>%%''                       | ''%%godivacli --remove-mail-alias 26a24a4c-5292-11e7-966d-37f7ce510f39 --mail mario.rossi@infn.it%%''               |
 +
 +
 +=== Opzioni per link entry locale/nazionale ===
 +E' possibile unire le entry dei rami locali con quelle nazionali. Questa operazione è utile soprattutto per le entry locali che non dispongono di un codice fiscale (VISITOR), e per cui esiste comunque la necessità di sincronizzarle con la relativa entry nazionale.
 +
 +^ Comando                        ^ Descrizione                                                                     ^ Sintassi                                                   ^
 +| ''%%--localUUID <uuid>%%''             | Specifica la uuid del ramo **locale**    |                                                            |
 +| ''%%--nationalUUID <uuid>%%''             | Specifica la uuid del ramo **nazionale**    |                                                            |
 +| ''%%--lpu%%''             | Crea un link tra entry locale e nazionale, valorizzando l'attributo **infnLinkedUUID** sulla locale    | ''%%godivacli --lpu --localUUID 0c213fda-5296-11e7-b592-df9633a01947 --nationalUUID 26a24a4c-5292-11e7-966d-37f7ce510f39 %%'' |
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki