open-eid / gentoo

Gentoo ebuild (community provided)
10 stars 14 forks source link

2023: token signing died for browsers, what's next for Gentoo? #60

Closed lkraav closed 3 months ago

lkraav commented 11 months ago

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?

martinpaljak commented 11 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?

lkraav commented 11 months ago

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
vozhyk- commented 11 months ago

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.

jaakristioja commented 9 months ago

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.