Exemple instal.lació oidc-agent a Ubuntu
Passos seguits per instal·lar el oidc-agent al meu portàtil. Segueixo els passos de la doc de l'oidc-agent [1]
Instal.lació
Instal·lació dependències
eplanas@lp-eplanas:~$ sudo apt-get install \ libcurl4-openssl-dev \ libsodium-dev \ libseccomp-dev \ libmicrohttpd-dev \ libsecret-1-dev S'està llegint la llista de paquets… Fet S'està construint l'arbre de dependències S'està llegint la informació de l'estat… Fet El paquets següents s'han instal·lat automàticament i ja no serà necessaris: libportmidi0 libqt5xmlpatterns5 linux-image-5.0.0-38-generic linux-modules-5.0.0-38-generic linux-modules-extra-5.0.0-38-generic qml-module-qtgraphicaleffects qml-module-qtquick-controls qml-module-qtquick-dialogs qml-module-qtquick-layouts qml-module-qtquick-privatewidgets qml-module-qtquick-window2 Empreu «sudo apt autoremove» per a suprimir-los. S'instal·laran els següents paquets extres: libblkid-dev libffi-dev libgcrypt20-dev libglib2.0-dev libglib2.0-dev-bin libgmp-dev libgmpxx4ldbl libgnutls-dane0 libgnutls28-dev libgnutlsxx28 libgpg-error-dev libidn2-dev libmicrohttpd12 libmount-dev libp11-kit-dev libpcre16-3 libpcre2-32-0 libpcre2-dev libpcre2-posix0 libpcre3-dev libpcre32-3 libpcrecpp0v5 libselinux1-dev libsepol1-dev libtasn1-6-dev libtasn1-doc libunbound8 nettle-dev uuid-dev zlib1g-dev Paquets suggerits: libcurl4-doc libidn11-dev libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev libssl-dev libgcrypt20-doc libgirepository1.0-dev libglib2.0-doc libxml2-utils gmp-doc libgmp10-doc libmpfr-dev gnutls-bin gnutls-doc seccomp S'instal·laran els paquets NOUS següents: libblkid-dev libcurl4-openssl-dev libffi-dev libgcrypt20-dev libglib2.0-dev libglib2.0-dev-bin libgmp-dev libgmpxx4ldbl libgnutls-dane0 libgnutls28-dev libgnutlsxx28 libgpg-error-dev libidn2-dev libmicrohttpd-dev libmicrohttpd12 libmount-dev libp11-kit-dev libpcre16-3 libpcre2-32-0 libpcre2-dev libpcre2-posix0 libpcre3-dev libpcre32-3 libpcrecpp0v5 libseccomp-dev libsecret-1-dev libselinux1-dev libsepol1-dev libsodium-dev libtasn1-6-dev libtasn1-doc libunbound8 nettle-dev uuid-dev zlib1g-dev 0 actualitzats, 35 nous a instal·lar, 0 a suprimir i 31 no actualitzats. S'ha d'obtenir 9.023 kB d'arxius. Després d'aquesta operació s'empraran 42,3 MB d'espai en disc addicional. Voleu continuar? [S/n] S Bai:1 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libcurl4-openssl-dev amd64 7.65.3-1ubuntu3 [318 kB] Bai:2 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libgpg-error-dev amd64 1.36-7 [108 kB] Bai:3 http://es.archive.ubuntu.com/ubuntu eoan-updates/main amd64 libgcrypt20-dev amd64 1.8.4-5ubuntu2.1 [470 kB] Bai:4 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libffi-dev amd64 3.2.1-9 [157 kB] Bai:5 http://es.archive.ubuntu.com/ubuntu eoan-updates/main amd64 libglib2.0-dev-bin amd64 2.62.4-1~ubuntu19.10.2 [106 kB] Bai:6 http://es.archive.ubuntu.com/ubuntu eoan-updates/main amd64 uuid-dev amd64 2.34-0.1ubuntu2.4 [33,6 kB] Bai:7 http://es.archive.ubuntu.com/ubuntu eoan-updates/main amd64 libblkid-dev amd64 2.34-0.1ubuntu2.4 [167 kB] Bai:8 http://es.archive.ubuntu.com/ubuntu eoan-updates/main amd64 libmount-dev amd64 2.34-0.1ubuntu2.4 [176 kB] Bai:9 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libpcre16-3 amd64 2:8.39-12 [149 kB] Bai:10 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libpcre32-3 amd64 2:8.39-12 [140 kB] Bai:11 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libpcrecpp0v5 amd64 2:8.39-12 [15,4 kB] Bai:12 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libpcre3-dev amd64 2:8.39-12 [542 kB] Bai:13 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libsepol1-dev amd64 2.9-2 [329 kB] Bai:14 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libpcre2-32-0 amd64 10.32-5 [162 kB] Bai:15 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libpcre2-posix0 amd64 10.32-5 [5.712 B] Bai:16 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libpcre2-dev amd64 10.32-5 [631 kB] Bai:17 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libselinux1-dev amd64 2.9-2 [151 kB] Bai:18 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 zlib1g-dev amd64 1:1.2.11.dfsg-1ubuntu3 [172 kB] Bai:19 http://es.archive.ubuntu.com/ubuntu eoan-updates/main amd64 libglib2.0-dev amd64 2.62.4-1~ubuntu19.10.2 [1.488 kB] Bai:20 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libgmpxx4ldbl amd64 2:6.1.2+dfsg-4 [9.096 B] Bai:21 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libgmp-dev amd64 2:6.1.2+dfsg-4 [312 kB] Bai:22 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libunbound8 amd64 1.9.0-2ubuntu1 [346 kB] Bai:23 http://es.archive.ubuntu.com/ubuntu eoan-updates/main amd64 libgnutls-dane0 amd64 3.6.9-5ubuntu1.1 [25,2 kB] Bai:24 http://es.archive.ubuntu.com/ubuntu eoan-updates/main amd64 libgnutlsxx28 amd64 3.6.9-5ubuntu1.1 [14,7 kB] Bai:25 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libidn2-dev amd64 2.2.0-2 [64,6 kB] Bai:26 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libp11-kit-dev amd64 0.23.17-2 [64,2 kB] Bai:27 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libtasn1-6-dev amd64 4.14-3 [88,9 kB] Bai:28 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 nettle-dev amd64 3.4.1-1 [955 kB] Bai:29 http://es.archive.ubuntu.com/ubuntu eoan-updates/main amd64 libgnutls28-dev amd64 3.6.9-5ubuntu1.1 [820 kB] Bai:30 http://es.archive.ubuntu.com/ubuntu eoan/universe amd64 libmicrohttpd12 amd64 0.9.66-1 [62,5 kB] Bai:31 http://es.archive.ubuntu.com/ubuntu eoan/universe amd64 libmicrohttpd-dev amd64 0.9.66-1 [226 kB] Bai:32 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libseccomp-dev amd64 2.4.1-0ubuntu0.19.10.3 [61,7 kB] Bai:33 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libsecret-1-dev amd64 0.18.8-2 [182 kB] Bai:34 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libsodium-dev amd64 1.0.18-1 [169 kB] Bai:35 http://es.archive.ubuntu.com/ubuntu eoan/main amd64 libtasn1-doc all 4.14-3 [302 kB] S'ha baixat 9.023 kB en 11s (838 kB/s) S'estan extraient les plantilles dels paquets: 100% S'està seleccionant el paquet libcurl4-openssl-dev:amd64 prèviament no seleccionat. (S'està llegint la base de dades… hi ha 277424 fitxers i directoris instal·lats actualment.) S'està preparant per a desempaquetar …/00-libcurl4-openssl-dev_7.65.3-1ubuntu3_amd64.deb… S'està desempaquetant libcurl4-openssl-dev:amd64 (7.65.3-1ubuntu3)… S'està seleccionant el paquet libgpg-error-dev prèviament no seleccionat. S'està preparant per a desempaquetar …/01-libgpg-error-dev_1.36-7_amd64.deb… S'està desempaquetant libgpg-error-dev (1.36-7)… S'està seleccionant el paquet libgcrypt20-dev prèviament no seleccionat. S'està preparant per a desempaquetar …/02-libgcrypt20-dev_1.8.4-5ubuntu2.1_amd64.deb… S'està desempaquetant libgcrypt20-dev (1.8.4-5ubuntu2.1)… S'està seleccionant el paquet libffi-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/03-libffi-dev_3.2.1-9_amd64.deb… S'està desempaquetant libffi-dev:amd64 (3.2.1-9)… S'està seleccionant el paquet libglib2.0-dev-bin prèviament no seleccionat. S'està preparant per a desempaquetar …/04-libglib2.0-dev-bin_2.62.4-1~ubuntu19.10.2_amd64.deb… S'està desempaquetant libglib2.0-dev-bin (2.62.4-1~ubuntu19.10.2)… S'està seleccionant el paquet uuid-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/05-uuid-dev_2.34-0.1ubuntu2.4_amd64.deb… S'està desempaquetant uuid-dev:amd64 (2.34-0.1ubuntu2.4)… S'està seleccionant el paquet libblkid-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/06-libblkid-dev_2.34-0.1ubuntu2.4_amd64.deb… S'està desempaquetant libblkid-dev:amd64 (2.34-0.1ubuntu2.4)… S'està seleccionant el paquet libmount-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/07-libmount-dev_2.34-0.1ubuntu2.4_amd64.deb… S'està desempaquetant libmount-dev:amd64 (2.34-0.1ubuntu2.4)… S'està seleccionant el paquet libpcre16-3:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/08-libpcre16-3_2%3a8.39-12_amd64.deb… S'està desempaquetant libpcre16-3:amd64 (2:8.39-12)… S'està seleccionant el paquet libpcre32-3:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/09-libpcre32-3_2%3a8.39-12_amd64.deb… S'està desempaquetant libpcre32-3:amd64 (2:8.39-12)… S'està seleccionant el paquet libpcrecpp0v5:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/10-libpcrecpp0v5_2%3a8.39-12_amd64.deb… S'està desempaquetant libpcrecpp0v5:amd64 (2:8.39-12)… S'està seleccionant el paquet libpcre3-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/11-libpcre3-dev_2%3a8.39-12_amd64.deb… S'està desempaquetant libpcre3-dev:amd64 (2:8.39-12)… S'està seleccionant el paquet libsepol1-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/12-libsepol1-dev_2.9-2_amd64.deb… S'està desempaquetant libsepol1-dev:amd64 (2.9-2)… S'està seleccionant el paquet libpcre2-32-0:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/13-libpcre2-32-0_10.32-5_amd64.deb… S'està desempaquetant libpcre2-32-0:amd64 (10.32-5)… S'està seleccionant el paquet libpcre2-posix0:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/14-libpcre2-posix0_10.32-5_amd64.deb… S'està desempaquetant libpcre2-posix0:amd64 (10.32-5)… S'està seleccionant el paquet libpcre2-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/15-libpcre2-dev_10.32-5_amd64.deb… S'està desempaquetant libpcre2-dev:amd64 (10.32-5)… S'està seleccionant el paquet libselinux1-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/16-libselinux1-dev_2.9-2_amd64.deb… S'està desempaquetant libselinux1-dev:amd64 (2.9-2)… S'està seleccionant el paquet zlib1g-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/17-zlib1g-dev_1%3a1.2.11.dfsg-1ubuntu3_amd64.deb… S'està desempaquetant zlib1g-dev:amd64 (1:1.2.11.dfsg-1ubuntu3)… S'està seleccionant el paquet libglib2.0-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/18-libglib2.0-dev_2.62.4-1~ubuntu19.10.2_amd64.deb… S'està desempaquetant libglib2.0-dev:amd64 (2.62.4-1~ubuntu19.10.2)… S'està seleccionant el paquet libgmpxx4ldbl:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/19-libgmpxx4ldbl_2%3a6.1.2+dfsg-4_amd64.deb… S'està desempaquetant libgmpxx4ldbl:amd64 (2:6.1.2+dfsg-4)… S'està seleccionant el paquet libgmp-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/20-libgmp-dev_2%3a6.1.2+dfsg-4_amd64.deb… S'està desempaquetant libgmp-dev:amd64 (2:6.1.2+dfsg-4)… S'està seleccionant el paquet libunbound8:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/21-libunbound8_1.9.0-2ubuntu1_amd64.deb… S'està desempaquetant libunbound8:amd64 (1.9.0-2ubuntu1)… S'està seleccionant el paquet libgnutls-dane0:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/22-libgnutls-dane0_3.6.9-5ubuntu1.1_amd64.deb… S'està desempaquetant libgnutls-dane0:amd64 (3.6.9-5ubuntu1.1)… S'està seleccionant el paquet libgnutlsxx28:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/23-libgnutlsxx28_3.6.9-5ubuntu1.1_amd64.deb… S'està desempaquetant libgnutlsxx28:amd64 (3.6.9-5ubuntu1.1)… S'està seleccionant el paquet libidn2-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/24-libidn2-dev_2.2.0-2_amd64.deb… S'està desempaquetant libidn2-dev:amd64 (2.2.0-2)… S'està seleccionant el paquet libp11-kit-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/25-libp11-kit-dev_0.23.17-2_amd64.deb… S'està desempaquetant libp11-kit-dev:amd64 (0.23.17-2)… S'està seleccionant el paquet libtasn1-6-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/26-libtasn1-6-dev_4.14-3_amd64.deb… S'està desempaquetant libtasn1-6-dev:amd64 (4.14-3)… S'està seleccionant el paquet nettle-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/27-nettle-dev_3.4.1-1_amd64.deb… S'està desempaquetant nettle-dev:amd64 (3.4.1-1)… S'està seleccionant el paquet libgnutls28-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/28-libgnutls28-dev_3.6.9-5ubuntu1.1_amd64.deb… S'està desempaquetant libgnutls28-dev:amd64 (3.6.9-5ubuntu1.1)… S'està seleccionant el paquet libmicrohttpd12 prèviament no seleccionat. S'està preparant per a desempaquetar …/29-libmicrohttpd12_0.9.66-1_amd64.deb… S'està desempaquetant libmicrohttpd12 (0.9.66-1)… S'està seleccionant el paquet libmicrohttpd-dev prèviament no seleccionat. S'està preparant per a desempaquetar …/30-libmicrohttpd-dev_0.9.66-1_amd64.deb… S'està desempaquetant libmicrohttpd-dev (0.9.66-1)… S'està seleccionant el paquet libseccomp-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/31-libseccomp-dev_2.4.1-0ubuntu0.19.10.3_amd64.deb… S'està desempaquetant libseccomp-dev:amd64 (2.4.1-0ubuntu0.19.10.3)… S'està seleccionant el paquet libsecret-1-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/32-libsecret-1-dev_0.18.8-2_amd64.deb… S'està desempaquetant libsecret-1-dev:amd64 (0.18.8-2)… S'està seleccionant el paquet libsodium-dev:amd64 prèviament no seleccionat. S'està preparant per a desempaquetar …/33-libsodium-dev_1.0.18-1_amd64.deb… S'està desempaquetant libsodium-dev:amd64 (1.0.18-1)… S'està seleccionant el paquet libtasn1-doc prèviament no seleccionat. S'està preparant per a desempaquetar …/34-libtasn1-doc_4.14-3_all.deb… S'està desempaquetant libtasn1-doc (4.14-3)… S'està configurant libpcrecpp0v5:amd64 (2:8.39-12)… S'està configurant libglib2.0-dev-bin (2.62.4-1~ubuntu19.10.2)… S'està configurant libseccomp-dev:amd64 (2.4.1-0ubuntu0.19.10.3)… S'està configurant libpcre16-3:amd64 (2:8.39-12)… S'està configurant libtasn1-doc (4.14-3)… S'està configurant libsepol1-dev:amd64 (2.9-2)… S'està configurant libffi-dev:amd64 (3.2.1-9)… S'està configurant libmicrohttpd12 (0.9.66-1)… S'està configurant libpcre2-32-0:amd64 (10.32-5)… S'està configurant libunbound8:amd64 (1.9.0-2ubuntu1)… S'està configurant libgmpxx4ldbl:amd64 (2:6.1.2+dfsg-4)… S'està configurant libpcre2-posix0:amd64 (10.32-5)… S'està configurant libgpg-error-dev (1.36-7)… S'està configurant libcurl4-openssl-dev:amd64 (7.65.3-1ubuntu3)… S'està configurant uuid-dev:amd64 (2.34-0.1ubuntu2.4)… S'està configurant libpcre32-3:amd64 (2:8.39-12)… S'està configurant libgnutlsxx28:amd64 (3.6.9-5ubuntu1.1)… S'està configurant libsodium-dev:amd64 (1.0.18-1)… S'està configurant libidn2-dev:amd64 (2.2.0-2)… S'està configurant zlib1g-dev:amd64 (1:1.2.11.dfsg-1ubuntu3)… S'està configurant libtasn1-6-dev:amd64 (4.14-3)… S'està configurant libp11-kit-dev:amd64 (0.23.17-2)… S'està configurant libblkid-dev:amd64 (2.34-0.1ubuntu2.4)… S'està configurant libgnutls-dane0:amd64 (3.6.9-5ubuntu1.1)… S'està configurant libgmp-dev:amd64 (2:6.1.2+dfsg-4)… S'està configurant libpcre2-dev:amd64 (10.32-5)… S'està configurant nettle-dev:amd64 (3.4.1-1)… S'està configurant libselinux1-dev:amd64 (2.9-2)… S'està configurant libpcre3-dev:amd64 (2:8.39-12)… S'està configurant libgcrypt20-dev (1.8.4-5ubuntu2.1)… S'està configurant libmount-dev:amd64 (2.34-0.1ubuntu2.4)… S'està configurant libgnutls28-dev:amd64 (3.6.9-5ubuntu1.1)… S'està configurant libglib2.0-dev:amd64 (2.62.4-1~ubuntu19.10.2)… S'està configurant libmicrohttpd-dev (0.9.66-1)… S'estan processant els activadors per a install-info (6.6.0.dfsg.1-2ubuntu2)… S'estan processant els activadors per a doc-base (0.10.9)… Processing 3 added doc-base files... S'estan processant els activadors per a libglib2.0-0:amd64 (2.62.4-1~ubuntu19.10.2)… S'estan processant els activadors per a libc-bin (2.30-0ubuntu2.1)… S'estan processant els activadors per a man-db (2.8.7-3)… S'està configurant libsecret-1-dev:amd64 (0.18.8-2)…
Descarregar via git
eplanas@lp-eplanas:~$ git clone https://github.com/indigo-dc/oidc-agent S'està clonant a «oidc-agent»... remote: Enumerating objects: 325, done. remote: Counting objects: 100% (325/325), done. remote: Compressing objects: 100% (196/196), done. remote: Total 10700 (delta 150), reused 266 (delta 123), pack-reused 10375 S'estan rebent objectes: 100% (10700/10700), 2.77 MiB | 898.00 KiB/s, fet. S'estan resolent les diferències: 100% (8002/8002), fet. eplanas@lp-eplanas:~$ cd oidc-agent
Compilo
Necessito més dependències eplanas@lp-eplanas:~/oidc-agent$ sudo apt install help2man check debhelper pkg-config perl sed fakeroot devscripts [...] eplanas@lp-eplanas:~/oidc-agent$ make deb perl -0777 -pi -e 's/(\().*?(\))/`echo -n "("; echo -n 3.3.1; echo -n ")"`/e' debian/changelog debuild -b -uc -us dpkg-buildpackage -us -uc -ui -b dpkg-buildpackage: info: paquet font oidc-agent dpkg-buildpackage: info: versió del font 3.3.1 dpkg-buildpackage: info: distribució del font UNRELEASED dpkg-buildpackage: info: font canviat per Marcus Hardt <hardt@kit.edu> dpkg-source --before-build . dpkg-buildpackage: info: arquitectura de l'amfitrió amd64 fakeroot debian/rules clean dh clean dh_auto_clean make -j1 distclean make[1]: Entering directory '/home/eplanas/oidc-agent' make[1]: Leaving directory '/home/eplanas/oidc-agent' dh_clean debian/rules build dh build dh_update_autotools_config dh_auto_configure dh_auto_build make -j1 make[1]: Entering directory '/home/eplanas/oidc-agent' Compiled src/oidc-agent/oidcd/internal_request_handler.c successfully! Compiled src/oidc-agent/oidcd/parse_internal.c successfully! Compiled src/oidc-agent/oidcd/oidcd_handler.c successfully! Compiled src/oidc-agent/oidcd/codeExchangeEntry.c successfully! Compiled src/oidc-agent/oidcd/oidcd.c successfully! Compiled src/oidc-agent/oidcp/proxy_handler.c successfully! Compiled src/oidc-agent/oidcp/oidcp.c successfully! Compiled src/oidc-agent/oidcp/passwords/password_handler.c successfully! Compiled src/oidc-agent/oidcp/passwords/keyring.c successfully! Compiled src/oidc-agent/oidcp/passwords/password_store.c successfully! Compiled src/oidc-agent/oidcp/passwords/askpass.c successfully! Compiled src/oidc-agent/daemonize.c successfully! Compiled src/oidc-agent/httpserver/termHttpserver.c successfully! Compiled src/oidc-agent/httpserver/requestHandler.c successfully! Compiled src/oidc-agent/httpserver/running_server.c successfully! Compiled src/oidc-agent/httpserver/startHttpserver.c successfully! Compiled src/oidc-agent/oidc-agent_options.c successfully! Compiled src/oidc-agent/oidc/flows/oidc.c successfully! Compiled src/oidc-agent/oidc/flows/revoke.c successfully! Compiled src/oidc-agent/oidc/flows/code.c successfully! Compiled src/oidc-agent/oidc/flows/openid_config.c successfully! Compiled src/oidc-agent/oidc/flows/refresh.c successfully! Compiled src/oidc-agent/oidc/flows/device.c successfully! Compiled src/oidc-agent/oidc/flows/registration.c successfully! Compiled src/oidc-agent/oidc/flows/password.c successfully! Compiled src/oidc-agent/oidc/flows/access_token_handler.c successfully! Compiled src/oidc-agent/oidc/parse_oidp.c successfully! Compiled src/oidc-agent/oidc/device_code.c successfully! Compiled src/oidc-agent/http/http_handler.c successfully! Compiled src/oidc-agent/http/http_errorHandler.c successfully! Compiled src/oidc-agent/http/http_ipc.c successfully! Compiled src/oidc-agent/http/http_postHandler.c successfully! Compiled src/oidc-agent/http/http.c successfully! Compiled src/oidc-agent/lock_state.c successfully! Compiled src/utils/versionUtils.c successfully! Compiled src/utils/deathUtils.c successfully! Compiled src/utils/disableTracing.c successfully! Compiled src/utils/errorUtils.c successfully! Compiled src/utils/uriUtils.c successfully! Compiled src/utils/stringUtils.c successfully! Compiled src/utils/accountUtils.c successfully! Compiled src/utils/printer.c successfully! Compiled src/utils/logger.c successfully! Compiled src/utils/password_entry.c successfully! Compiled src/utils/crypt/hexCrypt.c successfully! Compiled src/utils/crypt/passwordCrypt.c successfully! Compiled src/utils/crypt/memoryCrypt.c successfully! Compiled src/utils/crypt/cryptUtils.c successfully! Compiled src/utils/crypt/crypt.c successfully! Compiled src/utils/system_runner.c successfully! Compiled src/utils/listUtils.c successfully! Compiled src/utils/db/db.c successfully! Compiled src/utils/file_io/promptCryptFileUtils.c successfully! Compiled src/utils/file_io/cryptFileUtils.c successfully! Compiled src/utils/file_io/oidc_file_io.c successfully! Compiled src/utils/file_io/file_io.c successfully! Compiled src/utils/file_io/fileUtils.c successfully! Compiled src/utils/memory.c successfully! Compiled src/utils/sleeper.c successfully! Compiled src/utils/promptUtils.c successfully! Compiled src/utils/colors.c successfully! Compiled src/utils/portUtils.c successfully! Compiled src/utils/oidc_string.c successfully! Compiled src/utils/agentLogger.c successfully! Compiled src/utils/prompt.c successfully! Compiled src/utils/commonFeatures.c successfully! Compiled src/utils/numberString.c successfully! Compiled src/utils/matcher.c successfully! Compiled src/utils/json.c successfully! Compiled src/account/setandget.c successfully! Compiled src/account/account.c successfully! Compiled src/account/issuer_helper.c successfully! Compiled src/account/issuer.c successfully! Compiled src/ipc/pipe.c successfully! Compiled src/ipc/cryptCommunicator.c successfully! Compiled src/ipc/serveripc.c successfully! Compiled src/ipc/communicator.c successfully! Compiled src/ipc/connection.c successfully! Compiled src/ipc/ipc.c successfully! Compiled src/ipc/cryptIpc.c successfully! Compiled src/privileges/add_privileges.c successfully! Compiled src/privileges/gen_privileges.c successfully! Compiled src/privileges/privileges.c successfully! Compiled src/privileges/agent_privileges.c successfully! Compiled src/privileges/token_privileges.c successfully! Compiled lib/list/list.c successfully! Compiled lib/list/list_iterator.c successfully! Compiled lib/list/list_node.c successfully! Compiled lib/cJSON/cJSON.c successfully! Linking bin/oidc-agent complete! Compiled src/oidc-gen/oidc-gen.c successfully! Compiled src/oidc-gen/parse_ipc.c successfully! Compiled src/oidc-gen/gen_signal_handler.c successfully! Compiled src/oidc-gen/gen_handler.c successfully! Compiled src/oidc-gen/promptAndSet.c successfully! Compiled src/oidc-gen/oidc-gen_options.c successfully! Linking bin/oidc-gen complete! Compiled src/oidc-add/add_handler.c successfully! Compiled src/oidc-add/parse_ipc.c successfully! Compiled src/oidc-add/oidc-add.c successfully! Compiled src/oidc-add/oidc-add_options.c successfully! Linking bin/oidc-add complete! Compiled src/oidc-token/api.c with pic successfully! Compiled src/ipc/ipc.c with pic successfully! Compiled src/ipc/communicator.c with pic successfully! Compiled src/utils/json.c with pic successfully! Compiled src/utils/memory.c with pic successfully! Compiled src/utils/stringUtils.c with pic successfully! Compiled src/utils/colors.c with pic successfully! Compiled src/utils/printer.c with pic successfully! Compiled src/utils/listUtils.c with pic successfully! Compiled src/utils/logger.c with pic successfully! Compiled lib/list/list.c with pic successfully! Compiled lib/list/list_iterator.c with pic successfully! Compiled lib/list/list_node.c with pic successfully! Compiled lib/cJSON/cJSON.c with pic successfully! Compiled src/oidc-token/oidc-token.c successfully! Compiled src/oidc-token/api.c successfully! Compiled src/oidc-token/token_handler.c successfully! Compiled src/oidc-token/oidc-token_options.c successfully! Linking bin/oidc-token complete! Building bin/oidc-keychain complete! make[1]: Leaving directory '/home/eplanas/oidc-agent' dh_auto_test make -j1 test make[1]: Entering directory '/home/eplanas/oidc-agent' Running suite(s): json 100%: Checks: 12, Failures: 0, Errors: 0 Running suite(s): portUtils 100%: Checks: 14, Failures: 0, Errors: 0 Running suite(s): stringUtils 100%: Checks: 56, Failures: 0, Errors: 0 Running suite(s): memoryCrypt 100%: Checks: 5, Failures: 0, Errors: 0 Running suite(s): account 100%: Checks: 3, Failures: 0, Errors: 0 Running suite(s): uriUtils 100%: Checks: 15, Failures: 0, Errors: 0 make[1]: Leaving directory '/home/eplanas/oidc-agent' fakeroot debian/rules binary dh binary dh_testroot dh_prep debian/rules override_dh_auto_install make[1]: Entering directory '/home/eplanas/oidc-agent' /usr/bin/make BIN_PATH=$(pwd)/debian/oidc-agent/usr BIN_AFTER_INST_PATH=/usr MAN_PATH=$(pwd)/debian/oidc-agent/usr/share/man CONFIG_PATH=$(pwd)/debian/oidc-agent/etc BASH_COMPLETION_PATH=$(pwd)/debian/oidc-agent/usr/share/bash-completion/completions LIB_PATH=$(pwd)/debian/liboidc-agent3/usr/lib/x86_64-linux-gnu LIBDEV_PATH=$(pwd)/debian/liboidc-agent-dev/usr/lib/x86_64-linux-gnu INCLUDE_PATH=$(pwd)/debian/liboidc-agent-dev/usr/include/x86_64-linux-gnu DESKTOP_APPLICATION_PATH=$(pwd)/debian/oidc-agent/usr/share/applications XSESSION_PATH=$(pwd)/debian/oidc-agent/etc/X11 install install_lib install_lib-dev make[2]: Entering directory '/home/eplanas/oidc-agent' Linking bin/oidc-agent complete! Linking bin/oidc-gen complete! Linking bin/oidc-add complete! Compiled src/oidc-token/oidc-token.c successfully! Linking bin/oidc-token complete! Installed binaries Installed man pages! Installed issuer.config Installed bash completion installed privileges files Installed scheme handler Installed xsession_script Installation complete! Installed library Installed library dev make[2]: Leaving directory '/home/eplanas/oidc-agent' make[1]: Leaving directory '/home/eplanas/oidc-agent' dh_installdocs dh_installchangelogs dh_installman dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_strip dh_makeshlibs dh_shlibdeps dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: s'està construint el paquet «oidc-agent» en «../oidc-agent_3.3.1_amd64.deb». dpkg-deb: s'està construint el paquet «liboidc-agent3» en «../liboidc-agent3_3.3.1_amd64.deb». dpkg-deb: s'està construint el paquet «liboidc-agent-dev» en «../liboidc-agent-dev_3.3.1_amd64.deb». dpkg-deb: s'està construint el paquet «liboidc-agent3-dbgsym» en «debian/.debhelper/scratch-space/build-liboidc-agent3/liboidc-agent3-dbgsym_3.3.1_amd64.deb». Renaming liboidc-agent3-dbgsym_3.3.1_amd64.deb to liboidc-agent3-dbgsym_3.3.1_amd64.ddeb dpkg-deb: s'està construint el paquet «oidc-agent-dbgsym» en «debian/.debhelper/scratch-space/build-oidc-agent/oidc-agent-dbgsym_3.3.1_amd64.deb». Renaming oidc-agent-dbgsym_3.3.1_amd64.deb to oidc-agent-dbgsym_3.3.1_amd64.ddeb dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary >../oidc-agent_3.3.1_amd64.changes dpkg-genchanges: info: pujada només de binaris (no s'inclou el codi font) dpkg-source --after-build . dpkg-buildpackage: info: pujada de només binaris (no s'inclou el codi font) Now running lintian oidc-agent_3.3.1_amd64.changes ... W: oidc-agent: desktop-command-not-in-package usr/share/applications/oidc-gen.desktop x-terminal-emulator Finished running lintian. Success: DEBs are in parent directory
Instal·lació dels paquets
eplanas@lp-eplanas:~/oidc-agent$ sudo dpkg -i ../liboidc-agent3_3.3.1_amd64.deb S'està seleccionant el paquet liboidc-agent3 prèviament no seleccionat. (S'està llegint la base de dades… hi ha 281174 fitxers i directoris instal·lats actualment.) S'està preparant per a desempaquetar …/liboidc-agent3_3.3.1_amd64.deb… S'està desempaquetant liboidc-agent3 (3.3.1)… S'està configurant liboidc-agent3 (3.3.1)… S'estan processant els activadors per a libc-bin (2.30-0ubuntu2.1)… eplanas@lp-eplanas:~/oidc-agent$ sudo dpkg -i ../oidc-agent_3.3.1_amd64.deb S'està seleccionant el paquet oidc-agent prèviament no seleccionat. (S'està llegint la base de dades… hi ha 281179 fitxers i directoris instal·lats actualment.) S'està preparant per a desempaquetar ../oidc-agent_3.3.1_amd64.deb… S'està desempaquetant oidc-agent (3.3.1)… S'està configurant oidc-agent (3.3.1)… S'estan processant els activadors per a desktop-file-utils (0.24-1ubuntu1)… S'estan processant els activadors per a mime-support (3.63ubuntu1)… S'estan processant els activadors per a gnome-menus (3.32.0-1ubuntu1)… S'estan processant els activadors per a bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu1)… Rebuilding /usr/share/applications/bamf-2.index... S'estan processant els activadors per a man-db (2.8.7-3)… eplanas@lp-eplanas:~$ sudo dpkg -i oidc-agent_3.3.1_amd64.deb liboidc-agent3_3.3.1_amd64.deb (S'està llegint la base de dades… hi ha 281220 fitxers i directoris instal·lats actualment.) S'està preparant per a desempaquetar oidc-agent_3.3.1_amd64.deb… S'està desempaquetant oidc-agent (3.3.1) sobre (3.3.1)… S'està preparant per a desempaquetar liboidc-agent3_3.3.1_amd64.deb… S'està desempaquetant liboidc-agent3 (3.3.1) sobre (3.3.1)… S'està configurant liboidc-agent3 (3.3.1)… S'està configurant oidc-agent (3.3.1)… S'estan processant els activadors per a desktop-file-utils (0.24-1ubuntu1)… S'estan processant els activadors per a mime-support (3.63ubuntu1)… S'estan processant els activadors per a gnome-menus (3.32.0-1ubuntu1)… S'estan processant els activadors per a bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu1)… Rebuilding /usr/share/applications/bamf-2.index... S'estan processant els activadors per a man-db (2.8.7-3)… S'estan processant els activadors per a libc-bin (2.30-0ubuntu2.1)…
Configuració
Cal "registrar" el provider al que voldrem sol·licitar el token.
En el nostre cas és l'IAM d'ESCAPE on ja tinc el meu usuari registrat.
Arranc de l'agent
Per poder realitzar accions sempre cal arrancar l'agent.
eplanas@lp-eplanas:~$ eval `oidc-agent` Agent pid 28559
Registre iam-escape
eplanas@lp-eplanas:~$ oidc-gen iam-escape [1] https://iam-test.indigo-datacloud.eu/ [2] https://iam.deep-hybrid-datacloud.eu/ [3] https://iam.extreme-datacloud.eu/ [4] https://iam-demo.cloud.cnaf.infn.it/ [5] https://b2access.eudat.eu/oauth2/ [6] https://b2access-integration.fz-juelich.de/oauth2 [7] https://unity.eudat-aai.fz-juelich.de/oauth2/ [8] https://unity.helmholtz-data-federation.de/oauth2/ [9] https://login.helmholtz-data-federation.de/oauth2/ [10] https://services.humanbrainproject.eu/oidc/ [11] https://accounts.google.com/ [12] https://aai.egi.eu/oidc/ [13] https://aai-dev.egi.eu/oidc [14] https://login.elixir-czech.org/oidc/ [15] https://oidc.scc.kit.edu/auth/realms/kit/ [16] https://wlcg.cloud.cnaf.infn.it/ Issuer [2]: https://iam-escape.cloud.cnaf.infn.it/ This issuer supports the following scopes: openid profile email address phone offline_access storage.read:/ storage.modify:/ storage.create:/ eduperson_scoped_affiliation eduperson_entitlement Space delimited list of scopes or 'max' [openid profile offline_access]: Registering Client ... Generating account configuration ... accepted To continue and approve the registered client visit the following URL in a Browser of your choice: https://iam-escape.cloud.cnaf.infn.it/authorize?response_type=code&client_id=b0ef87b2-8d5d-4938-85ec-4860956724f1&redirect_uri=http://localhost:8080&scope=openid profile offline_access&access_type=offline&prompt=consent&state=0:9t-bBQRs9qGK2IGMzhI7LT6S:32:L3RtcC9vaWRjLWc1Umt4dy9vaWRjLWFnZW50Ljk2NzA&code_challenge_method=S256&code_challenge=f1H03oJUZqke3u6FftD3spr89eglDv8y5BLew8_OhZY Polling oidc-agent to get the generated account configuration ............success The generated account config was successfully added to oidc-agent. You don't have to run oidc-add. Enter encryption password for account configuration 'iam-escape': Confirm encryption Password:
- En el moment en que es registra, s'obre al navegador l'accés a l'IAM, sol·licitant una autenticació.
- Un cop entrem es mostra una pantalla demanant que s'autoritzi.
- Si l'autoritzem ens sortirà un missatge similar al següent:
Success Successfully performed code exchange. oidc-gen should have received the generated account config. Please check back with oidc-gen. In case of an error call oidc-gen with the following command: oidc-gen --state='0:9t-bBQRs9qGK2IGMzhI7LT6S:32:L3RtcC9vaWRjLWc1Umt4dy9vaWRjLWFnZW50Ljk2NzA'
Comprovem que el registre ha funcionat:
eplanas@lp-eplanas:~$ oidc-add -l The following account configurations are usable: iam-escape
Operacions amb token
A continuació es mostraran diferents exemples de com comprovar les credencials, o demanar tokens per poder accedir a les doors.
Sol·licitud de token
eplanas@lp-eplanas:~$ oidc-token iam-escape eyJraWQiOiJyc2ExIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI3M2U1YjY3NC1jMTVmLTRmZGQtYjBkOC1lMTRlZmRiNmM0YjEiLCJuYmYiOjE1ODk4MTI4MDksInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgb2ZmbGluZV9hY2Nlc3MiLCJpc3MiOiJodHRwczpcL1wvaWFtLWVzY2FwZS5jbG91ZC5jbmFmLmluZm4uaXRcLyIsImV4cCI6MTU4OTgxNjQwOSwiaWF0IjoxNTg5ODEyODA5LCJqdGkiOiJhMTUzMzAyYS0xOGU5LTQ5NDEtOTBhMC1iOTk3ZWQ3ZjU3ZWQiLCJjbGllbnRfaWQiOiJiMGVmODdiMi04ZDVkLTQ5MzgtODVlYy00ODYwOTU2NzI0ZjEifQ.Ff5u8vp3EKieNajnZHI4sEqn_UvcEg55eBTvNel-3e5DCu8UUr1slxLgpIBc4R5FFJBSsZJixEjNv9pRiHzPRjGewMm2tH1-oOA8vjcvYkUw0nK-0wYmYi8HYj7-x9Gdy2H8rpqw3M4qD1RIu9AS4K4csGm70KGeuo3kBAYEEdM
Comprovació token
Amb aquesta instrucció comprovem que el que ens retorna oidc-token iam-escape té un contingut correcte.
eplanas@lp-eplanas:~$ curl -s -H "Authorization: Bearer $(oidc-token iam-escape)" https://iam-escape.cloud.cnaf.infn.it/userinfo | jq { "sub": "73e5b674-c15f-4fdd-b0d8-e14efdb6c4b1", "name": "Elena Planas", "preferred_username": "eplanas", "given_name": "Elena", "family_name": "Planas", "updated_at": 1571244077, "groups": [ "escape" ], "organisation_name": "escape" }
Proves d'accés utilitzant tokens
Accés a un fitxer
La següent instrucció ens retorna el contingut d'un fitxer. Ex:
eplanas@lp-eplanas:~$ curl -L -s -H "Authorization: Bearer $(oidc-token iam-escape)" https://dcdoor01-dev.pic.es:8448/dteam/functional_tests/elena/prova1
Accés a un path
A l'accedir a un path, ens retorna un fitxer html amb informació per cada fitxers. Ex:
eplanas@lp-eplanas:~$ curl -L -s -H "Authorization: Bearer $(oidc-token iam-escape)" https://dcdoor01-dev.pic.es:8448/dteam/functional_tests/elena/ <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>dCache File System</title> <link rel="stylesheet" href="../../../.webdav/bootstrap/css/bootstrap.min.css"> <link rel="stylesheet" href="../../../.webdav/css/custom.css"> <link rel="stylesheet" href="../../../.webdav/css/tablesorter.custom.css"> <link rel="stylesheet" href="../../../.webdav/css/bootstrap.custom.css"> <link rel="stylesheet" href="../../../.webdav/css/font-awesome.min.css"> <script src="../../../.webdav/jquery/jquery.min.js"></script> <script src="../../../.webdav/bootstrap/js/bootstrap.min.js"></script> <script src="../../../.webdav/tablesorter/js/jquery.tablesorter.min.js"></script> <script src="../../../.webdav/tablesorter/js/jquery.tablesorter.widgets.min.js"></script> <script src="../../../.webdav/js/jquery.tablesorter.init.js"></script> <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <div class="navbar navbar-default navbar-fixed-top"> <div class="container"> <div class="navbar-header pull-left"> <a class="navbar-brand" href="#">dCache</a> <p class="navbar-text"></p> </div> <div class="navbar-header pull-right"> <div class="dropdown"> <a href="#" class="navbar-brand dropdown-toggle" data-toggle="dropdown"> <span class="glyphicon glyphicon-user"></span> </a> <ul class="dropdown-menu dropdown-menu-right"> <li><a href="#">FullNamePrincipal[Elena Planas]</a></li><li><a href="#">UidPrincipal[31601]</a></li><li><a href="#">Origin[192.168.12.11]</a></li><li><a href="#">GidPrincipal[46003,primary]</a></li><li><a href="#">OidcSubjectPrincipal[73e5b674-c15f-4fdd-b0d8-e14efdb6c4b1]</a></li><li><a href="#">UserNamePrincipal[dteam001]</a></li><li><a href="#">OpenIdGroup[escape]</a></li> </ul> </div> </div> </div> </div> <div class="container"> <div id="navi"> <ol class="breadcrumb"> <li><a href="../../../"><span class="glyphicon glyphicon-hdd"></span></a></li> <li><a href="../../../dteam/">dteam</a> <li><a href="../../../dteam/functional_tests/">functional_tests</a> <li><a href="../../../dteam/functional_tests/elena/">elena</a> </li> </li> </li> </ol> </div> <table class="table table-condensed sortable"> <thead> <tr> <th data-sorter="false"></th> <th>Name</th> <th>Size</th> <th data-sorter="customtime">Last Modified</th> </tr> </thead> <tbody> <tr> <td class="text-muted text-center"> <i title="This file's data is available with no delay." class="fa fa-file"></i> </td> <td> <a href="../../../dteam/functional_tests/elena/prova1?action=show" title="Show prova1">prova1</a> <a href="../../../dteam/functional_tests/elena/prova1" title="Download prova1" download="prova1"> <span class="glyphicon glyphicon-cloud-download"></span> </a> </td> <td title="24 B">24</td> <td> Tue Jul 09 13:12:35 CEST 2019 </td> </tr><tr> <td class="text-muted text-center"> <i title="This file's data is available with no delay." class="fa fa-file"></i> </td> <td> <a href="../../../dteam/functional_tests/elena/prova2?action=show" title="Show prova2">prova2</a> <a href="../../../dteam/functional_tests/elena/prova2" title="Download prova2" download="prova2"> <span class="glyphicon glyphicon-cloud-download"></span> </a> </td> <td title="24 B">24</td> <td> Tue Jul 09 13:31:55 CEST 2019 </td> </tr><tr> <td class="text-muted text-center"> <i title="This file's data is available with no delay." class="fa fa-file"></i> </td> <td> <a href="../../../dteam/functional_tests/elena/prova3?action=show" title="Show prova3">prova3</a> <a href="../../../dteam/functional_tests/elena/prova3" title="Download prova3" download="prova3"> <span class="glyphicon glyphicon-cloud-download"></span> </a> </td> <td title="24 B">24</td> <td> Tue Jul 09 13:32:50 CEST 2019 </td> </tr><tr> <td class="text-muted text-center"> <span class="glyphicon glyphicon-file"></span> </td> <td class="text-muted" title="Upload not yet complete">prova.kk</td> <td></td> <td class="text-muted"> Thu Jun 13 12:34:00 CEST 2019 </td> </tr><tr> <td class="text-muted text-center"> <i title="This file's data is available with no delay." class="fa fa-file"></i> </td> <td> <a href="../../../dteam/functional_tests/elena/provatpc.elena?action=show" title="Show provatpc.elena">provatpc.elena</a> <a href="../../../dteam/functional_tests/elena/provatpc.elena" title="Download provatpc.elena" download="provatpc.elena"> <span class="glyphicon glyphicon-cloud-download"></span> </a> </td> <td title="1,00 KiB">1024</td> <td> Fri Jun 14 11:56:11 CEST 2019 </td> </tr><tr> <td class="text-muted text-center"> <i title="This file's data is available with no delay." class="fa fa-file"></i> </td> <td> <a href="../../../dteam/functional_tests/elena/provatpc.elena2?action=show" title="Show provatpc.elena2">provatpc.elena2</a> <a href="../../../dteam/functional_tests/elena/provatpc.elena2" title="Download provatpc.elena2" download="provatpc.elena2"> <span class="glyphicon glyphicon-cloud-download"></span> </a> </td> <td title="1,00 KiB">1024</td> <td> Fri Jun 14 15:05:40 CEST 2019 </td> </tr><tr> <td class="text-muted text-center"> <i title="This file's data is available with no delay." class="fa fa-file"></i> </td> <td> <a href="../../../dteam/functional_tests/elena/provatpc.elena3?action=show" title="Show provatpc.elena3">provatpc.elena3</a> <a href="../../../dteam/functional_tests/elena/provatpc.elena3" title="Download provatpc.elena3" download="provatpc.elena3"> <span class="glyphicon glyphicon-cloud-download"></span> </a> </td> <td title="1,00 KiB">1024</td> <td> Fri Jun 14 15:26:12 CEST 2019 </td> </tr><tr> <td class="text-muted text-center"> <i title="This file's data is available with no delay." class="fa fa-file"></i> </td> <td> <a href="../../../dteam/functional_tests/elena/provatpc.elena4?action=show" title="Show provatpc.elena4">provatpc.elena4</a> <a href="../../../dteam/functional_tests/elena/provatpc.elena4" title="Download provatpc.elena4" download="provatpc.elena4"> <span class="glyphicon glyphicon-cloud-download"></span> </a> </td> <td title="1,00 KiB">1024</td> <td> Fri Jun 14 16:01:18 CEST 2019 </td> </tr><tr> <td class="text-muted text-center"> <i title="This file's data is available with no delay." class="fa fa-file"></i> </td> <td> <a href="../../../dteam/functional_tests/elena/provatpc.elena5?action=show" title="Show provatpc.elena5">provatpc.elena5</a> <a href="../../../dteam/functional_tests/elena/provatpc.elena5" title="Download provatpc.elena5" download="provatpc.elena5"> <span class="glyphicon glyphicon-cloud-download"></span> </a> </td> <td title="1,00 KiB">1024</td> <td> Mon Jun 17 12:00:06 CEST 2019 </td> </tr><tr> <td class="text-muted text-center"> <span class="glyphicon glyphicon-file"></span> </td> <td class="text-muted" title="Upload not yet complete">provatpc.elena52</td> <td></td> <td class="text-muted"> Fri Sep 27 15:33:48 CEST 2019 </td> </tr><tr> <td class="text-muted text-center"> <i title="This file's data is available with no delay." class="fa fa-file"></i> </td> <td> <a href="../../../dteam/functional_tests/elena/provatpc.elena6?action=show" title="Show provatpc.elena6">provatpc.elena6</a> <a href="../../../dteam/functional_tests/elena/provatpc.elena6" title="Download provatpc.elena6" download="provatpc.elena6"> <span class="glyphicon glyphicon-cloud-download"></span> </a> </td> <td title="1,00 KiB">1024</td> <td> Mon Jun 17 14:34:29 CEST 2019 </td> </tr><tr> <td class="text-muted text-center"> <i title="This file's data is available with no delay." class="fa fa-file"></i> </td> <td> <a href="../../../dteam/functional_tests/elena/provatpc.elena-prod?action=show" title="Show provatpc.elena-prod">provatpc.elena-prod</a> <a href="../../../dteam/functional_tests/elena/provatpc.elena-prod" title="Download provatpc.elena-prod" download="provatpc.elena-prod"> <span class="glyphicon glyphicon-cloud-download"></span> </a> </td> <td title="1,00 KiB">1024</td> <td> Tue Jun 18 10:44:48 CEST 2019 </td> </tr><tr> <td class="text-muted text-center"> <i title="This file's data is available with no delay." class="fa fa-file"></i> </td> <td> <a href="../../../dteam/functional_tests/elena/provatpc.elena-prod2?action=show" title="Show provatpc.elena-prod2">provatpc.elena-prod2</a> <a href="../../../dteam/functional_tests/elena/provatpc.elena-prod2" title="Download provatpc.elena-prod2" download="provatpc.elena-prod2"> <span class="glyphicon glyphicon-cloud-download"></span> </a> </td> <td title="1,00 KiB">1024</td> <td> Tue Jun 18 11:17:03 CEST 2019 </td> </tr><tr> <td class="text-muted text-center"> <i title="This file's data is available with no delay." class="fa fa-file"></i> </td> <td> <a href="../../../dteam/functional_tests/elena/provatpc.elena-prod3?action=show" title="Show provatpc.elena-prod3">provatpc.elena-prod3</a> <a href="../../../dteam/functional_tests/elena/provatpc.elena-prod3" title="Download provatpc.elena-prod3" download="provatpc.elena-prod3"> <span class="glyphicon glyphicon-cloud-download"></span> </a> </td> <td title="1,00 KiB">1024</td> <td> Fri Jun 21 11:00:41 CEST 2019 </td> </tr> </tbody> </table> </div> <div id="footer"> <div class="container"> <p class="text-muted text-center">Powered by <a href="https://dcache.org/">dCache</a></p> </div> </div> </body> </html>
Errors
Per poder veure els errors al curl cal posar-li l'opció -v
SSL certificate problem: unable to get local issuer certificate
En aquest cas el certificat de la door necessita tenir al fitxer hostcert.pem el certificat intermitg de la CA.
Per comprovar el certificat de la door hem executat:
eplanas@lp-eplanas:~$ openssl s_client -connect dcdoor01-dev.pic.es:8448 CONNECTED(00000003) depth=0 DC = org, DC = terena, DC = tcs, C = ES, ST = Barcelona, L = Bellaterra, O = Institut de Fisica dAltes Energies IFAE, CN = dcdoor01-dev.pic.es verify error:num=20:unable to get local issuer certificate verify return:1 depth=0 DC = org, DC = terena, DC = tcs, C = ES, ST = Barcelona, L = Bellaterra, O = Institut de Fisica dAltes Energies IFAE, CN = dcdoor01-dev.pic.es verify error:num=21:unable to verify the first certificate verify return:1 --- Certificate chain 0 s:/DC=org/DC=terena/DC=tcs/C=ES/ST=Barcelona/L=Bellaterra/O=Institut de Fisica dAltes Energies IFAE/CN=dcdoor01-dev.pic.es i:/C=NL/ST=Noord-Holland/L=Amsterdam/O=TERENA/CN=TERENA eScience SSL CA 3 --- Server certificate -----BEGIN CERTIFICATE----- MIIGxTCCBa2gAwIBAgIQB47EBi5rT4/pTiYUJ2/VVTANBgkqhkiG9w0BAQsFADBt [...] -----END CERTIFICATE----- subject=/DC=org/DC=terena/DC=tcs/C=ES/ST=Barcelona/L=Bellaterra/O=Institut de Fisica dAltes Energies IFAE/CN=dcdoor01-dev.pic.es issuer=/C=NL/ST=Noord-Holland/L=Amsterdam/O=TERENA/CN=TERENA eScience SSL CA 3 --- Acceptable client certificate CA names /C=PT/O=LIPCA/CN=LIP Certification Authority /C=BM/O=QuoVadis Limited/CN=QuoVadis Grid ICA G2 /C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 G3 /C=US/O=DigiCert Grid/OU=www.digicert.com/CN=DigiCert Grid Trust CA G2 /C=HU/O=NIIF/OU=Certificate Authorities/CN=NIIF Root CA 2 /DC=GE/DC=TSU/CN=TSU Root CA /C=FR/O=MENESR/OU=GRID-FR/CN=AC GRID-FR Robots /DC=ch/DC=cern/CN=CERN Grid Certification Authority /C=NL/O=GEANT Vereniging/CN=GEANT eScience SSL CA 4 /C=CA/O=Grid/CN=Grid Canada Certificate Authority /C=BR/O=ANSP/OU=ANSPGrid CA/CN=ANSPGrid CA /DC=me/DC=ac/DC=MREN/CN=MREN-CA /C=US/O=DigiCert Grid/OU=www.digicert.com/CN=DigiCert Grid Trust CA /C=PL/O=GRID/CN=Polish Grid CA 2019 /O=Grid/O=NorduGrid/CN=NorduGrid Certification Authority 2015 /C=JP/O=NII/OU=HPCI/CN=HPCI CA /C=FR/O=MENESR/OU=GRID-FR/CN=AC GRID-FR Personnels /C=MX/O=UNAMgrid/OU=UNAM/CN=CA /DC=DZ/DC=ARN/O=DZ e-Science GRID/CN=DZ e-Science CA /C=AM/O=ArmeSFo/CN=ArmeSFo CA /DC=CN/DC=Grid/CN=Root Certificate Authority at CNIC /C=IR/O=IPM/OU=GCG/CN=IRAN-GRID-G2 CA /DC=MD/DC=MD-Grid/O=RENAM/OU=Certification Authority/CN=MD-Grid-CA-T /DC=net/DC=ES/OU=Certificate Authorities/CN=NERSC Online CA /C=PL/O=GRID/CN=Polish Grid CA /C=FR/O=MENESR/OU=GRID-FR/CN=AC GRID-FR /C=RS/O=AEGIS/CN=AEGIS-CA /C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 2 /DC=ke/DC=kenet/O=Kenya Education Network Trust/OU=Research Services/CN=KENET ROOT CA /C=UK/O=eScienceCA/OU=Authority/CN=UK e-Science CA 2B /C=US/ST=New Jersey/L=Jersey City/O=The USERTRUST Network/CN=USERTrust RSA Certification Authority /DC=com/DC=DigiCert-Grid/O=DigiCert Grid/CN=DigiCert Grid CA-1 G2 /C=NL/ST=Noord-Holland/L=Amsterdam/O=TERENA/CN=TERENA eScience SSL CA 3 /C=AE/O=DarkMatter LLC/CN=DarkMatter Private Root CA G4 /C=DE/O=DFN-Verein/OU=DFN-PKI/CN=DFN-Verein PCA Grid - G01 /OU=GlobalSign Root CA - R2/O=GlobalSign/CN=GlobalSign /C=JP/O=KEK/OU=CRC/CN=KEK GRID Certificate Authority /C=DE/O=GermanGrid/CN=GridKa-CA /C=HR/O=edu/OU=srce/CN=SRCE CA /C=MA/O=MaGrid/CN=MaGrid CA /C=AR/O=e-Ciencia/OU=UNLP/L=CeSPI/CN=PKIGrid /C=IT/O=INFN/CN=INFN Certification Authority /C=BM/O=QuoVadis Limited/CN=QuoVadis Root CA 3 G3 /C=KR/O=KISTI/CN=KISTI Certification Authority /C=US/O=Google Trust Services/CN=GTS CA 1O1 /C=TR/O=TRGrid/CN=TR-Grid CA /C=NL/ST=Noord-Holland/L=Amsterdam/O=TERENA/CN=TERENA eScience Personal CA 3 /DC=ke/DC=kenet/O=Kenya Education Network Trust/OU=Research Services/CN=KENET CA /C=PK/O=NCP/CN=PK-GRID-CA /DC=org/DC=ugrid/CN=UGRID CA G2 /DC=cz/DC=cesnet-ca/O=CESNET CA/CN=CESNET CA 4 /C=US/O=Pittsburgh Supercomputing Center/CN=PSC MyProxy CA /DC=com/DC=DigiCert-Grid/O=DigiCert Grid/CN=DigiCert Grid CA-1 /C=FR/O=CNRS/CN=CNRS2-Projets /DC=ch/DC=cern/CN=CERN LCG IOTA Certification Authority /C=US/O=Internet2/OU=InCommon/CN=InCommon IGTF Server CA /DC=IN/DC=GARUDAINDIA/CN=Indian Grid Certification Authority 2 /C=BM/O=QuoVadis Limited/OU=Root Certification Authority/CN=QuoVadis Root Certification Authority /C=AE/O=DarkMatter LLC/CN=DarkMatter IGTF CA /C=NL/O=NIKHEF/CN=NIKHEF medium-security certification auth /DC=com/DC=DigiCert-Grid/O=DigiCert Grid/CN=DigiCert Grid Root CA /C=US/O=National Center for Supercomputing Applications/OU=Certificate Authorities/CN=MyProxy CA 2013 /C=ch/O=CERN/CN=CERN Root Certification Authority 2 /C=MK/O=MARGI/CN=MARGI-CA /C=RU/O=RDIG/CN=Russian Data-Intensive Grid CA /C=FR/O=CNRS/CN=GRID2-FR /C=SK/O=SlovakGrid/CN=SlovakGrid CA /DC=cz/DC=cesnet-ca/O=CESNET CA/CN=CESNET CA Root /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Assured ID Root CA /DC=HK/DC=HKU/DC=GRID/CN=HKU Grid CA 2 /C=CL/O=REUNACA/CN=REUNA Certification Authority /DC=RO/DC=RomanianGRID/O=ROSA/OU=Certification Authority/CN=RomanianGRID CA /DC=nl/DC=dutchgrid/O=Certification Authorities/CN=DCA Root G1 CA /C=UK/O=eScienceRoot/OU=Authority/CN=UK e-Science Root /C=FR/O=MENESR/OU=GRID-FR/CN=AC GRID-FR Services /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority /C=AE/O=DarkMatter LLC/CN=DarkMatter Secure CA /C=NL/O=GEANT Vereniging/CN=GEANT eScience Personal CA 4 /DC=bg/DC=acad/CN=BG.ACAD CA /DC=MY/DC=UPM/DC=MYIFAM/C=MY/O=MYIFAM/CN=Malaysian Identity Federation and Access Management /C=TW/O=AS/CN=Academia Sinica Grid Computing Certification Authority Mercury /C=MX/O=UNAM/OU=UNAMgrid/CN=PKIUNAMgrid /C=FR/O=CNRS/CN=CNRS2 /DC=by/DC=grid/O=uiip.bas-net.by/CN=Belarusian Grid Certification Authority /C=AE/O=DarkMatter LLC/CN=DarkMatter Assured CA /DC=ORG/DC=SEE-GRID/CN=SEE-GRID CA 2013 /C=SI/O=SiGNET/CN=SiGNET CA /DC=org/DC=cilogon/C=US/O=CILogon/CN=CILogon Silver CA 1 /C=CN/O=HEP/CN=Institute of High Energy Physics Certification Authority /C=GR/O=HellasGrid/OU=Certification Authorities/CN=HellasGrid CA 2016 /DC=CN/DC=Grid/DC=SDG/CN=Scientific Data Grid CA - G2 Client Certificate Types: RSA sign, DSA sign, ECDSA sign Requested Signature Algorithms: ECDSA+SHA512:RSA+SHA512:ECDSA+SHA384:RSA+SHA384:ECDSA+SHA256:RSA+SHA256:DSA+SHA256:ECDSA+SHA224:RSA+SHA224:DSA+SHA224:ECDSA+SHA1:RSA+SHA1:DSA+SHA1 Shared Requested Signature Algorithms: ECDSA+SHA512:RSA+SHA512:ECDSA+SHA384:RSA+SHA384:ECDSA+SHA256:RSA+SHA256:DSA+SHA256:ECDSA+SHA224:RSA+SHA224:DSA+SHA224:ECDSA+SHA1:RSA+SHA1:DSA+SHA1 Peer signing digest: SHA512 Server Temp Key: ECDH, P-256, 256 bits --- SSL handshake has read 10211 bytes and written 501 bytes --- New, TLSv1/SSLv3, Cipher is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Server public key is 2048 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session: Protocol : TLSv1.2 Cipher : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Session-ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Session-ID-ctx: Master-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Key-Arg : None PSK identity: None PSK identity hint: None SRP username: None Start Time: 1589813705 Timeout : 300 (sec) Verify return code: 21 (unable to verify the first certificate) --- closed
HTTP/1.1 302 Found però no mostra res
En aquest cas, podem veure que troba el destí, però no tenim activada la redirecció.
El problema es solventa posant l'opció -L al curl.
eplanas@lp-eplanas:~$ curl -v -s -H "Authorization: Bearer $(oidc-token iam-escape)" https://dcdoor01-dev.pic.es:8448/dteam/functional_tests/elena/prova1 * Trying 193.109.172.154... * TCP_NODELAY set * Connected to dcdoor01-dev.pic.es (193.109.172.154) port 8448 (#0) * ALPN, offering http/1.1 * Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH * successfully set certificate verify locations: * CAfile: /home/eplanas/anaconda3/ssl/cacert.pem CApath: none * TLSv1.2 (OUT), TLS header, Certificate Status (22): * TLSv1.2 (OUT), TLS handshake, Client hello (1): * TLSv1.2 (IN), TLS handshake, Server hello (2): * TLSv1.2 (IN), TLS handshake, Certificate (11): * TLSv1.2 (IN), TLS handshake, Server key exchange (12): * TLSv1.2 (IN), TLS handshake, Request CERT (13): * TLSv1.2 (IN), TLS handshake, Server finished (14): * TLSv1.2 (OUT), TLS handshake, Certificate (11): * TLSv1.2 (OUT), TLS handshake, Client key exchange (16): * TLSv1.2 (OUT), TLS change cipher, Client hello (1): * TLSv1.2 (OUT), TLS handshake, Finished (20): * TLSv1.2 (IN), TLS change cipher, Client hello (1): * TLSv1.2 (IN), TLS handshake, Finished (20): * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-SHA384 * ALPN, server did not agree to a protocol * Server certificate: * subject: DC=org; DC=terena; DC=tcs; C=ES; ST=Barcelona; L=Bellaterra; O=Institut de Fisica dAltes Energies IFAE; CN=dcdoor01-dev.pic.es * start date: Nov 21 00:00:00 2019 GMT * expire date: Dec 20 12:00:00 2020 GMT * subjectAltName: host "dcdoor01-dev.pic.es" matched cert's "dcdoor01-dev.pic.es" * issuer: C=NL; ST=Noord-Holland; L=Amsterdam; O=TERENA; CN=TERENA eScience SSL CA 3 * SSL certificate verify ok. > GET /dteam/functional_tests/elena/prova1 HTTP/1.1 > Host: dcdoor01-dev.pic.es:8448 > User-Agent: curl/7.52.1 > Accept: */* > Authorization: Bearer eyJraWQiOiJyc2ExIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiI3M2U1YjY3NC1jMTVmLTRmZGQtYjBkOC1lMTRlZmRiNmM0YjEiLCJuYmYiOjE1ODk4MzUyMjUsInNjb3BlIjoib3BlbmlkIG9mZmxpbmVfYWNjZXNzIHByb2ZpbGUiLCJpc3MiOiJodHRwczpcL1wvaWFtLWVzY2FwZS5jbG91ZC5jbmFmLmluZm4uaXRcLyIsImV4cCI6MTU4OTgzODgyNSwiaWF0IjoxNTg5ODM1MjI1LCJqdGkiOiI5ZDYxNjUwNy1jNmRmLTQ5ZGUtYWRhZi05ODFhY2RjYzk5NTUiLCJjbGllbnRfaWQiOiJiMGVmODdiMi04ZDVkLTQ5MzgtODVlYy00ODYwOTU2NzI0ZjEifQ.QKd07zu3LQ6DA9KJoPmCSwM5dVD6mRk7TPLCftpOrVk7cmMYCoj4gGGoRpHwF5gTxpKirOO0G6pC1IAUyDDEMe1v3bWL6PbeFzGduzk-TyovylkiOqZczgvrLQx3gns4k0yH56WR10UeB4gXNW_sh6AwdH7sIHh8bgp7cHxpJeY > < HTTP/1.1 302 Found < Date: Mon, 18 May 2020 20:53:57 GMT < Server: dCache/5.2.20 < Access-Control-Allow-Credentials: true < Access-Control-Allow-Origin: * < Location: http://193.109.172.2:24706/pnfs/pic.es/data/dteam/functional_tests/elena/prova1?dcache-http-uuid=7ef1eb9c-6f7b-4b66-ae78-145b9d2de6f1 < Content-Length: 0 < * Curl_http_done: called premature == 0 * Connection #0 to host dcdoor01-dev.pic.es left intact