当尝试在 Ubuntu 20.04 上使用 qdigidoc4(版本 4.2.4.71)并尝试签署容器时,签名失败(使用身份证和移动 ID 均失败),并且我收到以下消息:
ASiC_E.cpp:347 Failed to sign container.
SignatureXAdES_LT.cpp:227 Could not find certificate issuer 'CN=ESTEID-SK 2015,organizationIdentifier=NTREE-10747013,O=AS Sertifitseerimiskeskus,C=EE' in certificate store.
查看签名的容器也无法成功(所有签名都标记为“未知”)。
如何在 Ubuntu 20.04 上运行 qdigidoc4?
答案1
据我所知(读这个错误报告),爱沙尼亚根证书无效(但可能不是安全关键问题),并且 OpenSSL 1.1.1f(用于 Ubuntu 20.04)的验证比 OpenSSL 1.1.1e 更严格。但 OpenSSL 1.1.1g 恢复了这一点并再次接受爱沙尼亚根证书。可以通过安装 OpenSSL 1.1.1g 来解决此问题。但是,OpenSSL 1.1.1g 尚未为 Ubuntu 打包。
安装 Debian 版本的方法如下:
wget http://ftp.br.debian.org/debian/pool/main/o/openssl/openssl_1.1.1g-1_amd64.deb
wget http://ftp.br.debian.org/debian/pool/main/o/openssl/libssl1.1_1.1.1g-1_amd64.deb
sudo dpkg -i openssl_1.1.1g-1_amd64.deb
sudo dpkg -i libssl1.1_1.1.1g-1_amd64.deb
我不知道这是否会破坏其他的东西。但是经过这一更改,在我的系统上用 qdigidoc4 进行签名和验证再次成功。