Skip to content

Commit 3764e2b

Browse files
authored
Add new OCSP access certificate and use when old is expired (#250)
IB-5272 - port of qdigidoc dd4dfd9, open-eid/qdigidoc@dd4dfd9 - Debian packaging improvements Signed-off-by: Toomas Uudisaru <toomas.uudisaru@aktors.ee>
1 parent 5518653 commit 3764e2b

File tree

7 files changed

+30
-38
lines changed

7 files changed

+30
-38
lines changed

.travis.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ before_install:
1919
- git submodule update --init --recursive && if [ "${TRAVIS_OS_NAME}" = "osx" ]; then
2020
command curl -sSL https://rvm.io/mpapis.asc | gpg --import -;
2121
rvm get stable;
22-
brew install --force openssl;
22+
brew update && brew install --force openssl;
2323
curl -s --location "https://bootstrap.pypa.io/get-pip.py" -o get-pip.py;
2424
python get-pip.py --user;
2525
curl -s --location "https://github.com/open-eid/libdigidoc/releases/download/v3.10.3/libdigidoc_3.10.3.1214.pkg" -o libdigidoc.pkg;
26-
curl -s --location "https://github.com/open-eid/libdigidocpp/releases/download/v3.13.2/libdigidocpp_3.13.2.1360.pkg" -o libdigidocpp.pkg;
26+
curl -s --location "https://github.com/open-eid/libdigidocpp/releases/download/v3.13.5/libdigidocpp_3.13.5.1369.pkg" -o libdigidocpp.pkg;
2727
sudo installer -verboseR -pkg libdigidoc.pkg -target /;
2828
sudo installer -verboseR -pkg libdigidocpp.pkg -target /;
2929
HASH=($(shasum prepare_osx_build_environment.sh | cut -d ' ' -f 1));
@@ -46,31 +46,35 @@ script: case ${TARGET} in
4646
make zipdebug macdeployqt zip && cp qdigidoc4*.zip ./$BUILD_NUMBER/ && cd ..;
4747
;;
4848
*)
49-
docker run -e BUILD_NUMBER=${TRAVIS_BUILD_NUMBER} -e DEBFULLNAME="Travis" -e DEBEMAIL="travis-ci@travis" -e COVERITY_SCAN_TOKEN=${COVERITY_SCAN_TOKEN} -e TRAVIS_BRANCH=${TRAVIS_BRANCH} -e IMAGE=${TARGET} -v $(pwd):$(pwd) -t "${TARGET}" /bin/bash -c "cd $(pwd);"'
49+
docker run -e BUILD_NUMBER=${BUILD_NUMBER} -e COVERITY_SCAN_TOKEN=${COVERITY_SCAN_TOKEN} -e TRAVIS_BRANCH=${TRAVIS_BRANCH} -e IMAGE=${TARGET} -v $(pwd):$(pwd) -t "${TARGET}" /bin/bash -c "cd $(pwd);"'
5050
set -e;
5151
apt-get update -qq;
52-
apt-get install -y apt-transport-https curl dh-make devscripts dpkg-dev cdbs cmake libldap2-dev libpcsclite-dev libssl-dev qtbase5-dev libqt5svg5-dev qttools5-dev qttools5-dev-tools gettext git curl wget ruby;
52+
apt-get install -y apt-transport-https curl dh-make devscripts cdbs cmake libldap2-dev gettext libpcsclite-dev libssl-dev libqt5svg5-dev qttools5-dev git curl wget ruby;
5353
curl https://installer.id.ee/media/install-scripts/ria-public.key | apt-key add -;
5454
curl https://installer.id.ee/media/install-scripts/C6C83D68.pub | apt-key add -;
5555
echo "deb http://installer.id.ee/media/ubuntu/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/repo.list;
5656
apt-get update -qq;
5757
apt-get install -y libdigidocpp-dev;
5858
export VERSION=$(grep project CMakeLists.txt | egrep -o "([0-9]{1,}\.)+[0-9]{1,}").${BUILD_NUMBER};
59+
export DEBFULLNAME="Travis";
60+
export DEBEMAIL="travis-ci@travis";
5961
dh_make --createorig --addmissing --copyright lgpl2 --defaultless -y -p qdigidoc4_${VERSION};
62+
mkdir -p tmp/build && cp ../qdigidoc4_${VERSION}.orig.tar.xz tmp/ && cd tmp/build;
63+
tar xf ../qdigidoc4_${VERSION}.orig.tar.xz;
6064
dch --distribution $(lsb_release -cs) -v ${VERSION} "Release ${VERSION}.";
6165
dpkg-buildpackage -rfakeroot -us -uc;
6266
set +e;
6367
if [ "${IMAGE}" = "ubuntu:17.04" ]; then
6468
export COVERITY_SCAN_PROJECT_NAME="open-eid/DigiDoc4-Client";
6569
export COVERITY_SCAN_NOTIFICATION_EMAIL="toomas.uudisaru@gmail.com";
6670
export COVERITY_SCAN_BRANCH_PATTERN=coverity_scan;
67-
export COVERITY_SCAN_BUILD_COMMAND_PREPEND="cmake -DBREAKPAD=\"\" .";
71+
export COVERITY_SCAN_BUILD_COMMAND_PREPEND="cmake .";
6872
export COVERITY_SCAN_BUILD_COMMAND=make;
69-
wget https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh;
70-
bash travisci_build_coverity_scan.sh;
73+
wget -O - https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh | bash;
7174
fi;
75+
cd ../..;
7276
mkdir -p build/$BUILD_NUMBER;
73-
cp ../qdigidoc4_*.deb build/$BUILD_NUMBER';
77+
cp tmp/qdigidoc4_*.deb build/$BUILD_NUMBER';
7478
esac
7579
deploy:
7680
provider: s3

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ if(POLICY CMP0063)
66
cmake_policy(SET CMP0063 NEW)
77
endif()
88
if(POLICY CMP0071)
9-
cmake_policy(SET CMP0071 OLD)
9+
cmake_policy(SET CMP0071 NEW)
1010
endif()
1111
project(qdigidoc4 VERSION 0.6.0)
1212

client/AccessCert.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,16 +106,19 @@ void AccessCert::increment()
106106

107107
bool AccessCert::isDefaultCert(const QSslCertificate &cert) const
108108
{
109-
return QList<QByteArray>({
109+
static const QList<QByteArray> list {
110110
// CN = Sertifitseerimiskeskus AS, SN = 0E:EB:07
111111
QByteArray::fromHex("8cb7b0f9aa8c1270422c6cf85d25134a47273758"),
112112
// CN = Sertifitseerimiskeskus AS, SN = 10:CC:4F
113113
QByteArray::fromHex("ab1cc8221912648e0780d48fba4e10ae71e1635e"),
114114
// CN = DigiDoc3 Client ver 3.11, SN = 11:9E:E0
115115
QByteArray::fromHex("97dfcf8894c908031694345a1452a9b5efce537d"),
116116
// CN = DigiDoc3 Client ver 3.12, SN = 12:05:79
117-
QByteArray::fromHex("2a704f8a69b1837426a3498008600512e78f84d6")
118-
}).contains(cert.digest(QCryptographicHash::Sha1));
117+
QByteArray::fromHex("2a704f8a69b1837426a3498008600512e78f84d6"),
118+
// CN=Riigi Infos\xC3\xBCsteemi Amet, SN = da:98:09:46:6d:57:51:65:48:8b:b2:14:0d:9e:19:27
119+
QByteArray::fromHex("aa8ee5735ec72d411bc88d39dec0b3648b1b4c81")
120+
};
121+
return list.contains(cert.digest(QCryptographicHash::Sha1));
119122
}
120123

121124
bool AccessCert::installCert( const QByteArray &data, const QString &password )

client/CMakeLists.txt

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,12 @@ qt5_wrap_ui( SOURCES MainWindow.ui dialogs/AddRecipients.ui dialogs/CertificateH
2121
widgets/InfoStack.ui widgets/ItemList.ui widgets/MainAction.ui widgets/NoCardInfo.ui widgets/NoOtherId.ui widgets/OtherData.ui widgets/OtherId.ui
2222
widgets/PageIcon.ui widgets/SignatureItem.ui widgets/VerifyCert.ui widgets/WarningItem.ui widgets/WarningRibbon.ui )
2323

24-
if( UNIX AND NOT APPLE )
24+
if( APPLE )
25+
set( LDAP_LIBRARIES "-framework LDAP" )
26+
set_source_files_properties( crypto/LdapSearch.cpp PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations" )
27+
elseif( WIN32 )
28+
set( LDAP_LIBRARIES Wldap32 )
29+
else()
2530
find_package( Ldap REQUIRED )
2631
endif()
2732

@@ -106,13 +111,6 @@ add_executable( ${PROGNAME} WIN32 MACOSX_BUNDLE
106111
)
107112
add_manifest( ${PROGNAME} )
108113

109-
if( APPLE )
110-
set( LDAP_LIBRARIES "-framework LDAP" )
111-
set_source_files_properties( crypto/LdapSearch.cpp PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations" )
112-
elseif( WIN32 )
113-
set( LDAP_LIBRARIES Wldap32 )
114-
endif()
115-
116114
target_link_libraries( ${PROGNAME}
117115
qdigidoccommon
118116
Qt5::PrintSupport

debian/compat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9
1+
10

debian/control

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,8 @@ Build-Depends:
99
libldap2-dev,
1010
libpcsclite-dev,
1111
libssl-dev,
12-
qtbase5-dev,
13-
libqt5svg5-dev,
1412
qttools5-dev,
15-
qttools5-dev-tools
13+
libqt5svg5-dev
1614
Standards-Version: 0.2.0
1715
Homepage: https://github.com/open-eid/DigiDoc4-Client
1816

@@ -21,8 +19,8 @@ Architecture: any
2119
Depends:
2220
opensc,
2321
fonts-liberation,
24-
pcscd,
25-
${shlibs:Depends} ${misc:Depends}
22+
${shlibs:Depends},
23+
${misc:Depends}
2624
Conflicts:
2725
libdigidocpp0 (<<3.0)
2826
Replaces:
@@ -46,14 +44,4 @@ Description: Estonian digital signature application
4644
encrypting enables you to protect sensitive information from other
4745
people in the short term. The ID-card’s authentication certificate is
4846
used for encryption. A secure container file will be created upon
49-
encryption with the extension .cdoc.
50-
51-
Package: qdigidoc4-dbg
52-
Architecture: any
53-
Section: debug
54-
Depends:
55-
libdigidocpp-dbg ${misc:Depends},
56-
qdigidoc4 (=${binary:Version})
57-
Description: Debugging symbols for qdigidoc4
58-
This package contains the debugging symbols for Estonian ID card digital
59-
signature desktop tools.
47+
encryption with the extension .cdoc.

debian/install

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)