Closed lkraav closed 7 months ago
Download https://github.com/web-eid/web-eid-app and see how it goes? There are a few components to put together, but should definitely be doable with some effort?
Well, build went fine, other than requiring dev-cpp/gtest
dependency install, but I don't have enough bandwidth to figure out packaging details
⌁ [leho:web-eid-app.git]└2 main ± ./build.sh
-- Found GTest: /usr/lib64/cmake/GTest/GTestConfig.cmake (found version "1.13.0")
-- Checking for module 'libpcsclite'
-- Found libpcsclite, version 2.0.0
-- Configuring done (0.2s)
-- Generating done (0.0s)
-- Build files have been written to: /home/leho/Documents/web-eid-app.git/build
[ 1%] Building CXX object lib/libelectronic-id/lib/libpcsc-cpp/CMakeFiles/pcsc-cpp.dir/src/Reader.cpp.o
[ 2%] Building CXX object lib/libelectronic-id/lib/libpcsc-cpp/CMakeFiles/pcsc-cpp.dir/src/SmartCard.cpp.o
[ 3%] Building CXX object lib/libelectronic-id/lib/libpcsc-cpp/CMakeFiles/pcsc-cpp.dir/src/listReaders.cpp.o
[ 4%] Building CXX object lib/libelectronic-id/lib/libpcsc-cpp/CMakeFiles/pcsc-cpp.dir/src/utils.cpp.o
[ 6%] Linking CXX static library libpcsc-cpp.a
[ 6%] Built target pcsc-cpp
[ 7%] Building CXX object lib/libelectronic-id/CMakeFiles/electronic-id.dir/src/availableSupportedCards.cpp.o
[ 8%] Building CXX object lib/libelectronic-id/CMakeFiles/electronic-id.dir/src/electronic-id.cpp.o
[ 9%] Building CXX object lib/libelectronic-id/CMakeFiles/electronic-id.dir/src/electronic-ids/common.cpp.o
[ 11%] Building CXX object lib/libelectronic-id/CMakeFiles/electronic-id.dir/src/electronic-ids/pcsc/EIDIDEMIA.cpp.o
[ 12%] Building CXX object lib/libelectronic-id/CMakeFiles/electronic-id.dir/src/electronic-ids/pcsc/EstEIDGemalto.cpp.o
[ 13%] Building CXX object lib/libelectronic-id/CMakeFiles/electronic-id.dir/src/electronic-ids/pcsc/EstEIDIDEMIA.cpp.o
[ 14%] Building CXX object lib/libelectronic-id/CMakeFiles/electronic-id.dir/src/electronic-ids/pcsc/FinEID.cpp.o
[ 16%] Building CXX object lib/libelectronic-id/CMakeFiles/electronic-id.dir/src/electronic-ids/pcsc/LatEIDIDEMIAv1.cpp.o
[ 17%] Building CXX object lib/libelectronic-id/CMakeFiles/electronic-id.dir/src/electronic-ids/pcsc/LatEIDIDEMIAv2.cpp.o
[ 18%] Building CXX object lib/libelectronic-id/CMakeFiles/electronic-id.dir/src/electronic-ids/pkcs11/Pkcs11ElectronicID.cpp.o
[ 19%] Linking CXX static library libelectronic-id.a
[ 19%] Built target electronic-id
[ 20%] Building CXX object lib/libelectronic-id/lib/libpcsc-cpp/tests/lib/libpcsc-mock/CMakeFiles/pcsc-mock.dir/src/pcsc-mock.cpp.o
[ 22%] Linking CXX static library libpcsc-mock.a
[ 22%] Built target pcsc-mock
[ 23%] Building CXX object lib/libelectronic-id/CMakeFiles/libelectronic-id-test-mock.dir/tests/mock/test-autoselect-card.cpp.o
[ 24%] Building CXX object lib/libelectronic-id/CMakeFiles/libelectronic-id-test-mock.dir/tests/mock/test-get-certificate.cpp.o
[ 25%] Building CXX object lib/libelectronic-id/CMakeFiles/libelectronic-id-test-mock.dir/tests/mock/test-pkcs11-token.cpp.o
[ 27%] Linking CXX executable libelectronic-id-test-mock
[ 27%] Built target libelectronic-id-test-mock
[ 28%] Building CXX object lib/libelectronic-id/CMakeFiles/libelectronic-id-test-integration.dir/tests/integration/test-get-certificate.cpp.o
[ 29%] Building CXX object lib/libelectronic-id/CMakeFiles/libelectronic-id-test-integration.dir/tests/integration/test-authenticate.cpp.o
[ 30%] Building CXX object lib/libelectronic-id/CMakeFiles/libelectronic-id-test-integration.dir/tests/integration/test-signing.cpp.o
[ 32%] Linking CXX executable libelectronic-id-test-integration
[ 32%] Built target libelectronic-id-test-integration
[ 33%] Building CXX object lib/libelectronic-id/lib/libpcsc-cpp/CMakeFiles/libpcsc-cpp-test-mock.dir/tests/mock/test-select-card-reader-and-card.cpp.o
[ 34%] Building CXX object lib/libelectronic-id/lib/libpcsc-cpp/CMakeFiles/libpcsc-cpp-test-mock.dir/tests/mock/test-connect-to-card-transmit-apdus.cpp.o
[ 35%] Linking CXX executable libpcsc-cpp-test-mock
[ 35%] Built target libpcsc-cpp-test-mock
[ 37%] Building CXX object lib/libelectronic-id/lib/libpcsc-cpp/CMakeFiles/libpcsc-cpp-test-integration.dir/tests/integration/test-pcsc-cpp.cpp.o
[ 38%] Linking CXX executable libpcsc-cpp-test-integration
[ 38%] Built target libpcsc-cpp-test-integration
[ 39%] Building CXX object lib/libelectronic-id/lib/libpcsc-cpp/tests/lib/libpcsc-mock/CMakeFiles/libpcsc-mock-test.dir/tests/pcsc-mock-test.cpp.o
[ 40%] Linking CXX executable libpcsc-mock-test
[ 40%] Built target libpcsc-mock-test
[ 41%] Automatic MOC for target controller
[ 41%] Built target controller_autogen
[ 43%] Building CXX object src/controller/CMakeFiles/controller.dir/controller_autogen/mocs_compilation.cpp.o
[ 44%] Building CXX object src/controller/CMakeFiles/controller.dir/application.cpp.o
[ 45%] Building CXX object src/controller/CMakeFiles/controller.dir/command-handlers/authenticate.cpp.o
[ 46%] Building CXX object src/controller/CMakeFiles/controller.dir/command-handlers/certificatereader.cpp.o
[ 48%] Building CXX object src/controller/CMakeFiles/controller.dir/command-handlers/getcertificate.cpp.o
[ 49%] Building CXX object src/controller/CMakeFiles/controller.dir/command-handlers/sign.cpp.o
[ 50%] Building CXX object src/controller/CMakeFiles/controller.dir/command-handlers/signauthutils.cpp.o
[ 51%] Building CXX object src/controller/CMakeFiles/controller.dir/commands.cpp.o
[ 53%] Building CXX object src/controller/CMakeFiles/controller.dir/controller.cpp.o
[ 54%] Building CXX object src/controller/CMakeFiles/controller.dir/inputoutputmode.cpp.o
[ 55%] Building CXX object src/controller/CMakeFiles/controller.dir/logging.cpp.o
[ 56%] Building CXX object src/controller/CMakeFiles/controller.dir/retriableerror.cpp.o
[ 58%] Building CXX object src/controller/CMakeFiles/controller.dir/threads/controllerchildthread.cpp.o
[ 59%] Building CXX object src/controller/CMakeFiles/controller.dir/writeresponse.cpp.o
[ 60%] Linking CXX static library libcontroller.a
[ 60%] Built target controller
[ 61%] Automatic MOC and UIC for target ui
[ 61%] Built target ui_autogen
[ 62%] Automatic RCC for web-eid-resources.qrc
[ 64%] Generating de.qm
Updating '/home/leho/Documents/web-eid-app.git/build/src/ui/de.qm'...
Generated 64 translation(s) (64 finished and 0 unfinished)
[ 65%] Generating en.qm
Updating '/home/leho/Documents/web-eid-app.git/build/src/ui/en.qm'...
Generated 64 translation(s) (64 finished and 0 unfinished)
[ 66%] Generating et.qm
Updating '/home/leho/Documents/web-eid-app.git/build/src/ui/et.qm'...
Generated 64 translation(s) (64 finished and 0 unfinished)
[ 67%] Generating fi.qm
Updating '/home/leho/Documents/web-eid-app.git/build/src/ui/fi.qm'...
Generated 64 translation(s) (60 finished and 4 unfinished)
[ 69%] Generating fr.qm
Updating '/home/leho/Documents/web-eid-app.git/build/src/ui/fr.qm'...
Generated 64 translation(s) (64 finished and 0 unfinished)
[ 70%] Generating hr.qm
Updating '/home/leho/Documents/web-eid-app.git/build/src/ui/hr.qm'...
Generated 64 translation(s) (60 finished and 4 unfinished)
[ 71%] Generating nl.qm
Updating '/home/leho/Documents/web-eid-app.git/build/src/ui/nl.qm'...
Generated 64 translation(s) (64 finished and 0 unfinished)
[ 72%] Generating ru.qm
Updating '/home/leho/Documents/web-eid-app.git/build/src/ui/ru.qm'...
Generated 64 translation(s) (64 finished and 0 unfinished)
[ 74%] Automatic RCC for translations.qrc
[ 75%] Building CXX object src/ui/CMakeFiles/ui.dir/ui_autogen/mocs_compilation.cpp.o
[ 76%] Building CXX object src/ui/CMakeFiles/ui.dir/certificatewidget.cpp.o
[ 77%] Building CXX object src/ui/CMakeFiles/ui.dir/ui.cpp.o
[ 79%] Building CXX object src/ui/CMakeFiles/ui.dir/webeiddialog.cpp.o
[ 80%] Building CXX object src/ui/CMakeFiles/ui.dir/ui_autogen/EJRQKI7XPS/qrc_translations.cpp.o
[ 81%] Building CXX object src/ui/CMakeFiles/ui.dir/ui_autogen/EWIEGA46WW/qrc_web-eid-resources.cpp.o
[ 82%] Linking CXX static library libui.a
[ 82%] Built target ui
[ 83%] Automatic MOC for target web-eid
[ 83%] Built target web-eid_autogen
[ 85%] Building CXX object src/app/CMakeFiles/web-eid.dir/web-eid_autogen/mocs_compilation.cpp.o
[ 86%] Building CXX object src/app/CMakeFiles/web-eid.dir/getcommandhandler.cpp.o
[ 87%] Building CXX object src/app/CMakeFiles/web-eid.dir/main.cpp.o
[ 88%] Linking CXX executable web-eid
[ 88%] Built target web-eid
[ 90%] Automatic MOC for target mock-ui
[ 90%] Built target mock-ui_autogen
[ 91%] Building CXX object tests/mock-ui/CMakeFiles/mock-ui.dir/mock-ui_autogen/mocs_compilation.cpp.o
[ 92%] Building CXX object tests/mock-ui/CMakeFiles/mock-ui.dir/mock-ui.cpp.o
[ 93%] Linking CXX static library libmock-ui.a
[ 93%] Built target mock-ui
[ 95%] Automatic MOC for target web-eid-tests
[ 95%] Built target web-eid-tests_autogen
[ 96%] Building CXX object tests/tests/CMakeFiles/web-eid-tests.dir/web-eid-tests_autogen/mocs_compilation.cpp.o
[ 97%] Building CXX object tests/tests/CMakeFiles/web-eid-tests.dir/getcommandhandler-mock.cpp.o
[ 98%] Building CXX object tests/tests/CMakeFiles/web-eid-tests.dir/main.cpp.o
[100%] Linking CXX executable web-eid-tests
[100%] Built target web-eid-tests
⌁ θ65° [leho:web-eid-app.git]└2 main ± ./build/src/app/web-eid -c get-signing-certificate '{"origin":"https://ria.ee"}'
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
INFO: "web-eid" app "2.4.0+0" running in command-line mode
DEBUG: Starting "WaitForCardThread" 94114436793168 for command "INSERT_CARD"
DEBUG: User cancelled
{"error":{"code":"ERR_WEBEID_USER_CANCELLED","message":"User cancelled"}}
DEBUG: Interrupting thread 94114436793168
INFO: "WaitForCardThread" 94114436793168 for command "INSERT_CARD" completed successfully
DEBUG: "WaitForCardThread" 94114436793168 destroyed
I had made an ebuild for web-eid some time ago, and it has been working for me so far. There are a few issues with the system-wide Firefox extension installation which I haven't got around to fixing, though, so I've made it a draft PR: #62.
I created a simple Gentoo overlay which provides ebuilds for the latest released version of web-eid-app (2.4.0) and its dependencies. No ebuilds for the WebExtensions at this point.
Although emerging with USE=test FEATURES=test
seems to work, I must admit that I have not yet actually tested whether any of that actually works in practice. The goal is to eventually get web-eid to work properly my Gentoo machines, but I have no timeline.
I don't currently plan to file a pull request for this here, but you're welcome to reuse the code.
I'm currently unclear on how to get https://www.id.ee/en/article/web-eid/ going, your thoughts please?
As-is, I think I'm not able to use ID cards in browser right now, as of Jul 2023?