summaryrefslogtreecommitdiff
path: root/app-crypt/eid-mw
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt/eid-mw')
-rw-r--r--app-crypt/eid-mw/Manifest11
-rw-r--r--app-crypt/eid-mw/eid-mw-4.4.27.ebuild108
-rw-r--r--app-crypt/eid-mw/eid-mw-5.0.14.ebuild (renamed from app-crypt/eid-mw/eid-mw-5.0.11.ebuild)3
-rw-r--r--app-crypt/eid-mw/eid-mw-9999.ebuild3
-rw-r--r--app-crypt/eid-mw/files/eid-sign-test-4.4.19.patch272
-rw-r--r--app-crypt/eid-mw/metadata.xml3
6 files changed, 6 insertions, 394 deletions
diff --git a/app-crypt/eid-mw/Manifest b/app-crypt/eid-mw/Manifest
index c10a9d6b0f2d..58be8eb2a3be 100644
--- a/app-crypt/eid-mw/Manifest
+++ b/app-crypt/eid-mw/Manifest
@@ -1,8 +1,5 @@
-AUX eid-sign-test-4.4.19.patch 8320 BLAKE2B c2295a64a5353f79ea44703b7256f667b5c6dc21eb74b0cfb6945572d0323d751ca8104ae981ae83759267081b6a16509cde3e8f5ad35b1a6613855461880c18 SHA512 01efa77441982a631e717a1bf720155bd38144cbe9e5b9cc192bdfa7ea3966b787e31a25a7e3c7d560fec30b19edeb662f6ab1db2d68b0a5b996af3c91342ec4
AUX use-printf-in-Makefile.patch 1439 BLAKE2B 829b93431a8dddd957ef2deef60dfd3ff13fc2a0faab5c5327cea2f53ccc1bcc0e805166de93d2de8a52e8c344bdab64dae5671f238b49ecedebb657afca0823 SHA512 8207e9eb534fed58712b805df0e90bcf8406fe1c2907f91cd54500babcc49d0a72dc1d039d9fdb8077967058aaafb6c37336c1b0fcd041edfb3c4604c7cea4c2
-DIST eid-mw-4.4.27.tar.gz 7481892 BLAKE2B 5d1268946a62436eec74a7ed83e8391c1ceb0274ef8798b95bee2087e4e439d46ea5f88b8237cff1e925d31d1762fe979a959ce35efd4d6210dda580827bab3b SHA512 c4e9917907bb351b9dd427eb48c2124e55de0d8a73cfd142b9cb5e81c84f91e62a39a90bb1fbd109fb59aeb089898ffcd18ef5ccf2ab72c883b41ec4d9b9edf1
-DIST eid-mw-5.0.11.tar.gz 8928406 BLAKE2B 36358b758e1e865a7a99099f548b8e7acc045df73ab6290dc5ebf7e82c8b03566137340498e815cdb3458c63961233ef0e8530f75dfeed18e714b6fb4fcfbbcd SHA512 2753739797dbfe5b01c4538fca02f5a0833a3850a2b62cd4e7179a148b0459c9217311f44d1f03b9b9655187af7d90cbe53dd1e4a8318a0cba864d346f8c9324
-EBUILD eid-mw-4.4.27.ebuild 2531 BLAKE2B 405338910850fab6119b7deb09c0b494dc294a661538173307976cc556e906d64bbd2f7a058545ef35ae22b461334d8df03cb0e21443629b2653a955cfeee97e SHA512 71e909609ed65bb8160a32030a6fb3c550a09f3a1db06015cf224c7a5ca41a76de30cdbe1fe016c3839508503ab711e0c8926a147cf8de4569b221d8138e35f3
-EBUILD eid-mw-5.0.11.ebuild 2692 BLAKE2B cadc9352ab462ef2c516321e0e189304e0a328b17a3adf66ad27351bc668cd49c31ed1d33482e04d91c813d6c8412a0154cc8e56f93eb664252c9b85d3c44dec SHA512 3afcfe20b53d1160429f47dd2e598aab97161104bf19e9b2085ce772be4af131afae72c6002a45b66e8f78fbd70470bec98a35b51feb1255c91d42d5983e27ed
-EBUILD eid-mw-9999.ebuild 2458 BLAKE2B e3a281af16221066f9b9249c224d500df889860130fe234480a06a31c39a04d1eb3e1141e5f79d32e510b1e82087aafe9123231f0684834537f79010946cdc20 SHA512 2a1d8cddaa069053de0be694b4686d618aad98022a6050590907b78d1fec015955c194dedda46178518508e968acce416fbce90a5b1b1536ec1c477922782d65
-MISC metadata.xml 1445 BLAKE2B f402be7a768b67e34a736cdfaafc0df9f29301ba2d4b50f4ff27b9b08085826a67e452bb239893ef79d10eebb8981488cc71ca7f7015152783ad939e64df6d85 SHA512 b3934c2c2be9adc2f4d4d8ab654b8b21056bcbf29a67751ead9c8f1be4339a651a6d315c6ee1c182c3e8a32ad630c73f0990bd4fce4d34afa948055f0447ea98
+DIST eid-mw-5.0.14.tar.gz 8971565 BLAKE2B d1e6997c089c72f6b6b15fafefa227d7341721c1fa52e446f0334c3915b2e16d84ccb27053dc2e12c0f932bb3cb96e1cbfadc0d6b203098734f74fa0dbffc6ab SHA512 97a4e1359c853f14e91d5ec6c3b13d97b3113106da1e7125b558d724aea76f8a15b289dd06ed13391896d9318daea0133eba9269b6103fb1b922e8b55ceaf9cc
+EBUILD eid-mw-5.0.14.ebuild 2657 BLAKE2B 9be1250a0a67ad60cad63225f7a29df1234d3c1d28282ba820b6cd8a6c930170a67341e0e50bb5916152f1987c9a481d513afe0899001d0c2bfd4e0218bec380 SHA512 bce58ec9cc79f3cbf21106221ee71861bd83d7ce15a58661999fcc2a8719024bbce8accc5467929c0bad1c18ac7d24e1f07bb757ff6447402d14237b64eea4d6
+EBUILD eid-mw-9999.ebuild 2423 BLAKE2B 600204c3d487c75471e9c9307748f09356dfccec3a466d538a243c170bca8299659d8cf8205cdffadb4c82e4f31cc5f5964f7e22b2014f45224008b4c54d60c1 SHA512 7fb482b981d58272037e5735fdebaec759b7c2de17280c8b829b3e4677c92ce37572449ab64b951a5d6a997e0041e2f0b387d924393db9b88c7ba95ee28bde15
+MISC metadata.xml 1376 BLAKE2B b137dd3488af97de2cf1acb49c0f69ec21cee305db6eaf1c5906215c213dd688813f87ab139b58cc33dd96b3770a4e79cf17e14939d5d92dc3b339d1c9ebd4cc SHA512 b0c354de9d2f90404eb2525cc21b5e7396018fbcd4cba318c356ada544a168fb8e33dfff33989e13393b9e0a99a0e332b59e4f27ec9bf5e16dee4ea30609ca89
diff --git a/app-crypt/eid-mw/eid-mw-4.4.27.ebuild b/app-crypt/eid-mw/eid-mw-4.4.27.ebuild
deleted file mode 100644
index 38d7672f996b..000000000000
--- a/app-crypt/eid-mw/eid-mw-4.4.27.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools desktop gnome2-utils xdg-utils
-
-DESCRIPTION="Electronic Identity Card middleware supplied by the Belgian Federal Government"
-HOMEPAGE="https://eid.belgium.be"
-SRC_URI="https://codeload.github.com/fedict/${PN}/tar.gz/v${PV} -> ${P}.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="+dialogs +gtk +p11v220 p11-kit"
-
-RDEPEND=">=sys-apps/pcsc-lite-1.2.9
- gtk? (
- x11-libs/gdk-pixbuf[jpeg]
- x11-libs/gtk+:*
- dev-libs/libxml2
- net-misc/curl[ssl]
- net-libs/libproxy
- !app-misc/eid-viewer-bin
- )
- p11-kit? ( app-crypt/p11-kit )"
-
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-REQUIRED_USE="dialogs? ( gtk )"
-
-src_prepare() {
- default
-
- sed -i -e 's:/beid/rsaref220:/rsaref220:' configure.ac || die
- sed -i -e 's:/beid::' cardcomm/pkcs11/src/libbeidpkcs11.pc.in || die
-
- # Buggy internal versioning when autoreconf a tarball release.
- # Weird numbering is required otherwise we get a seg fault in
- # about-eid-mw program.
- echo "${PV}-v${PV}" > .version
- sed -i \
- -e '/^GITDESC/ d' \
- -e '/^VERCLEAN/ d' \
- scripts/build-aux/genver.sh
-
- # legacy xpi module : we don't want it anymore
- sed -i -e '/SUBDIRS/ s:plugins_tools/xpi ::' Makefile.am || die
- sed -i -e '/plugins_tools\/xpi/ d' configure.ac || die
-
- # hardcoded lsb_info
- sed -i \
- -e "s:get_lsb_info('i'):strdup(_(\"Gentoo\")):" \
- -e "s:get_lsb_info('r'):strdup(_(\"n/a\")):" \
- -e "s:get_lsb_info('c'):strdup(_(\"n/a\")):" \
- plugins_tools/aboutmw/gtk/about-main.c || die
-
- # Fix libdir for pkcs11_manifestdir
- sed -i \
- -e "/pkcs11_manifestdir/ s:prefix)/lib:libdir):" \
- cardcomm/pkcs11/src/Makefile.am || die
-
- # See bug #691308
- eapply "${FILESDIR}/eid-sign-test-4.4.19.patch"
-
- # See bug #732994
- sed -i \
- -e '/LDFLAGS="/ s:$CPPFLAGS:$LDFLAGS:' \
- configure.ac || die
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable dialogs) \
- $(use_enable p11v220) \
- $(use_enable p11-kit p11kit) \
- $(use_with gtk gtkvers 'detect') \
- --with-gnu-ld \
- --disable-static
-}
-
-src_install() {
- default
- rm -r "${ED}"/usr/$(get_libdir)/*.la || die
- if use gtk; then
- domenu plugins_tools/eid-viewer/eid-viewer.desktop
- doicon plugins_tools/eid-viewer/gtk/eid-viewer.png
- fi
-}
-
-pkg_postinst() {
- if use gtk; then
- gnome2_schemas_update
- xdg_desktop_database_update
- xdg_icon_cache_update
- fi
-}
-
-pkg_postrm() {
- if use gtk; then
- gnome2_schemas_update
- xdg_desktop_database_update
- xdg_icon_cache_update
- fi
-}
diff --git a/app-crypt/eid-mw/eid-mw-5.0.11.ebuild b/app-crypt/eid-mw/eid-mw-5.0.14.ebuild
index b0e0654fd5b0..93ca542eae12 100644
--- a/app-crypt/eid-mw/eid-mw-5.0.11.ebuild
+++ b/app-crypt/eid-mw/eid-mw-5.0.14.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://codeload.github.com/fedict/${PN}/tar.gz/v${PV} -> ${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
-IUSE="+dialogs +gtk +p11v220 p11-kit"
+IUSE="+dialogs +gtk p11-kit"
RDEPEND=">=sys-apps/pcsc-lite-1.2.9
gtk? (
@@ -68,7 +68,6 @@ src_prepare() {
src_configure() {
econf \
$(use_enable dialogs) \
- $(use_enable p11v220) \
$(use_enable p11-kit p11kit) \
$(use_with gtk gtkvers 'detect') \
--with-gnu-ld \
diff --git a/app-crypt/eid-mw/eid-mw-9999.ebuild b/app-crypt/eid-mw/eid-mw-9999.ebuild
index 5b1071332616..f121b9049099 100644
--- a/app-crypt/eid-mw/eid-mw-9999.ebuild
+++ b/app-crypt/eid-mw/eid-mw-9999.ebuild
@@ -11,7 +11,7 @@ EGIT_REPO_URI="https://github.com/Fedict/${PN}.git"
LICENSE="LGPL-3"
SLOT="0"
-IUSE="+dialogs +gtk +p11v220 p11-kit"
+IUSE="+dialogs +gtk p11-kit"
RDEPEND=">=sys-apps/pcsc-lite-1.2.9
gtk? (
@@ -62,7 +62,6 @@ src_prepare() {
src_configure() {
econf \
$(use_enable dialogs) \
- $(use_enable p11v220) \
$(use_enable p11-kit p11kit) \
$(use_with gtk gtkvers 'detect') \
--with-gnu-ld \
diff --git a/app-crypt/eid-mw/files/eid-sign-test-4.4.19.patch b/app-crypt/eid-mw/files/eid-sign-test-4.4.19.patch
deleted file mode 100644
index cf59f99a8ea7..000000000000
--- a/app-crypt/eid-mw/files/eid-sign-test-4.4.19.patch
+++ /dev/null
@@ -1,272 +0,0 @@
---- eid-mw-4.4.19/tests/unit/sign.c 2019-07-11 16:08:46.000000000 +0200
-+++ eid-mw-git/tests/unit/sign.c 2019-08-04 17:40:08.683942928 +0200
-@@ -19,10 +19,13 @@
- **************************************************************************** */
- #ifdef WIN32
- #include <win32.h>
-+#pragma pack(push, cryptoki, 1)
-+#include "pkcs11.h"
-+#pragma pack(pop, cryptoki)
- #else
- #include <unix.h>
--#endif
- #include <pkcs11.h>
-+#endif
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
-@@ -33,66 +36,88 @@
- #include <config.h>
- #endif
-
-+#include <stdbool.h>
-+
- #if HAVE_OPENSSL
--#include <openssl/rsa.h>
-+#include <openssl/opensslv.h>
-+#include <openssl/evp.h>
- #include <openssl/engine.h>
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
--static int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) {
-- if(!r || !n || !e) {
-- return 0;
-- }
-- r->n = n;
-- r->e = e;
-- r->d = d;
-- return 1;
--}
--#endif
--
--CK_BYTE digest_sha256[] = {
-- 0x2c, 0x26, 0xb4, 0x6b,
-- 0x68, 0xff, 0xc6, 0x8f,
-- 0xf9, 0x9b, 0x45, 0x3c,
-- 0x1d, 0x30, 0x41, 0x34,
-- 0x13, 0x42, 0x2d, 0x70,
-- 0x64, 0x83, 0xbf, 0xa0,
-- 0xf9, 0x8a, 0x5e, 0x88,
-- 0x62, 0x66, 0xe7, 0xae
--};
--
--int verify_sig(unsigned char* sig, CK_ULONG siglen, CK_BYTE_PTR modulus, CK_ULONG modlen, CK_BYTE_PTR exponent, CK_ULONG explen) {
-- RSA* rsa = RSA_new();
-- unsigned char* s = malloc(siglen);
-- int ret;
--
-- RSA_set0_key(rsa, BN_bin2bn(modulus, (int) modlen, NULL), BN_bin2bn(exponent, (int) explen, NULL), NULL);
--
-- int v = RSA_verify(NID_sha256, digest_sha256, sizeof(digest_sha256), sig, siglen, rsa);
--
-- printf("Signature verification returned: %d\n", v);
-- if(!v) {
-- unsigned long e = ERR_get_error();
-- printf("error %ld: %s\n", e, ERR_error_string(e, NULL));
-- ret = TEST_RV_FAIL;
-- } else {
-- ret = TEST_RV_OK;
-+// These were copied from eid-test-ca:derencode.c
-+int verify_sig(const unsigned char *sig_in, CK_ULONG siglen, const unsigned char *certificate, size_t certlen, bool is_rsa) {
-+#if OPENSSL_VERSION_NUMBER > 0x10100000L
-+ X509 *cert = NULL;
-+ EVP_PKEY *pkey = NULL;
-+ EVP_MD_CTX *mdctx;
-+ EVP_PKEY_CTX *pctx;
-+ const EVP_MD *md = EVP_get_digestbyname("sha256");
-+ unsigned char *sig = (unsigned char*)sig_in;
-+
-+ if(d2i_X509(&cert, &certificate, certlen) == NULL) {
-+ fprintf(stderr, "E: could not parse X509 certificate\n");
-+ return TEST_RV_FAIL;
-+ }
-+ pkey = X509_get0_pubkey(cert);
-+ if(pkey == NULL) {
-+ fprintf(stderr, "E: could not find public key in certificate\n");
-+ return TEST_RV_FAIL;
-+ }
-+ mdctx = EVP_MD_CTX_new();
-+ if(EVP_DigestVerifyInit(mdctx, &pctx, md, NULL, pkey) != 1) {
-+ fprintf(stderr, "E: initialization for signature validation failed!\n");
-+ return TEST_RV_FAIL;
-+ }
-+ if(EVP_DigestVerifyUpdate(mdctx, (const unsigned char*)"foo", 3) != 1) {
-+ fprintf(stderr, "E: hashing for signature failed!\n");
-+ return TEST_RV_FAIL;
- }
-
-- free(s);
-- RSA_free(rsa);
--
-- return ret;
-+ ECDSA_SIG* ec_sig;
-+ if(!is_rsa) {
-+ BIGNUM *r;
-+ BIGNUM *s;
-+ ec_sig = ECDSA_SIG_new();
-+ if((r = BN_bin2bn(sig, siglen / 2, NULL)) == NULL) {
-+ fprintf(stderr, "E: could not convert R part of ECDSA signature!\n");
-+ return TEST_RV_FAIL;
-+ }
-+ if((s = BN_bin2bn(sig + (siglen / 2), siglen / 2, NULL)) == NULL) {
-+ fprintf(stderr, "E: could not convert S part of ECDSA signature!\n");
-+ return TEST_RV_FAIL;
-+ }
-+ if(ECDSA_SIG_set0(ec_sig, r, s) == 0) {
-+ fprintf(stderr, "E: could not set ECDSA_SIG structure!\n");
-+ return TEST_RV_FAIL;
-+ }
-+ siglen = i2d_ECDSA_SIG(ec_sig, NULL);
-+ unsigned char *dersig = sig = malloc(siglen);
-+ siglen = i2d_ECDSA_SIG(ec_sig, &dersig);
-+ }
-+ if(EVP_DigestVerifyFinal(mdctx, sig, siglen) != 1) {
-+ fprintf(stderr, "E: signature fails validation!\n");
-+ return TEST_RV_FAIL;
-+ }
-+ if(!is_rsa) {
-+ free(sig);
-+ }
-+ printf("signature verified\n");
-+ return TEST_RV_OK;
-+#else
-+ printf("OpenSSL too old for verification\n");
-+#endif
- }
--
- #endif
-
--int test_key(char* label, CK_SESSION_HANDLE session, CK_SLOT_ID slot EIDT_UNUSED) {
-+int test_key(char* label, CK_SESSION_HANDLE session, CK_SLOT_ID slot) {
- CK_ATTRIBUTE attr[2];
- CK_MECHANISM mech;
-+ CK_MECHANISM_TYPE_PTR mechlist;
- CK_BYTE data[] = { 'f', 'o', 'o' };
- CK_BYTE_PTR sig, mod, exp;
- CK_ULONG sig_len, type, count;
-- CK_OBJECT_HANDLE privatekey, publickey;
-+ CK_OBJECT_HANDLE privatekey, publickey, certificate;
-+ bool is_rsa = false;
-+ int i;
-
- attr[0].type = CKA_CLASS;
- attr[0].pValue = &type;
-@@ -113,7 +138,22 @@
- return TEST_RV_SKIP;
- }
-
-- mech.mechanism = CKM_SHA256_RSA_PKCS;
-+ check_rv(C_GetMechanismList(slot, NULL_PTR, &count));
-+ mechlist = malloc(sizeof(CK_MECHANISM_TYPE) * count);
-+#undef CHECK_RV_DEALLOCATE
-+#define CHECK_RV_DEALLOCATE free(mechlist)
-+
-+ check_rv(C_GetMechanismList(slot, mechlist, &count));
-+
-+ for(i=0; i<count; i++) {
-+ if(mechlist[i] == CKM_SHA256_RSA_PKCS) {
-+ mech.mechanism = mechlist[i];
-+ i=count;
-+ is_rsa = true;
-+ break;
-+ }
-+ }
-+
- check_rv(C_SignInit(session, &mech, privatekey));
-
- check_rv(C_Sign(session, data, sizeof(data), NULL, &sig_len));
-@@ -124,42 +164,68 @@
-
- hex_dump((char*)sig, sig_len);
-
-- type = CKO_PUBLIC_KEY;
-- check_rv(C_FindObjectsInit(session, attr, 2));
-- check_rv(C_FindObjects(session, &publickey, 1, &count));
-- verbose_assert(count == 1);
-- check_rv(C_FindObjectsFinal(session));
-+ if(is_rsa) {
-+ type = CKO_PUBLIC_KEY;
-+ check_rv(C_FindObjectsInit(session, attr, 2));
-+ check_rv(C_FindObjects(session, &publickey, 1, &count));
-+ verbose_assert(count == 1);
-+ check_rv(C_FindObjectsFinal(session));
-
-- attr[0].type = CKA_MODULUS;
-- attr[0].pValue = NULL_PTR;
-- attr[0].ulValueLen = 0;
-+ attr[0].type = CKA_MODULUS;
-+ attr[0].pValue = NULL_PTR;
-+ attr[0].ulValueLen = 0;
-
-- attr[1].type = CKA_PUBLIC_EXPONENT;
-- attr[1].pValue = NULL_PTR;
-- attr[1].ulValueLen = 0;
-+ attr[1].type = CKA_PUBLIC_EXPONENT;
-+ attr[1].pValue = NULL_PTR;
-+ attr[1].ulValueLen = 0;
-
-- check_rv(C_GetAttributeValue(session, publickey, attr, 2));
-+ check_rv(C_GetAttributeValue(session, publickey, attr, 2));
-
-- verbose_assert(attr[0].ulValueLen == sig_len);
-+ verbose_assert(attr[0].ulValueLen == sig_len);
-
-- mod = malloc(attr[0].ulValueLen);
-- mod[0] = 0xde; mod[1] = 0xad; mod[2] = 0xbe; mod[3] = 0xef;
-- exp = malloc(attr[1].ulValueLen);
-- exp[0] = 0xde; exp[1] = 0xad; exp[2] = 0xbe; exp[3] = 0xef;
-+ mod = malloc(attr[0].ulValueLen);
-+ mod[0] = 0xde; mod[1] = 0xad; mod[2] = 0xbe; mod[3] = 0xef;
-+ exp = malloc(attr[1].ulValueLen);
-+ exp[0] = 0xde; exp[1] = 0xad; exp[2] = 0xbe; exp[3] = 0xef;
-
-- attr[0].pValue = mod;
-- attr[1].pValue = exp;
-+ attr[0].pValue = mod;
-+ attr[1].pValue = exp;
-
-- check_rv(C_GetAttributeValue(session, publickey, attr, 2));
-+ check_rv(C_GetAttributeValue(session, publickey, attr, 2));
-
-- printf("Received key modulus with length %lu:\n", attr[0].ulValueLen);
-- hex_dump((char*)mod, attr[0].ulValueLen);
-+ printf("Received key modulus with length %lu:\n", attr[0].ulValueLen);
-+ hex_dump((char*)mod, attr[0].ulValueLen);
-
-- printf("Received public exponent of key with length %lu:\n", attr[1].ulValueLen);
-- hex_dump((char*)exp, attr[1].ulValueLen);
-+ printf("Received public exponent of key with length %lu:\n", attr[1].ulValueLen);
-+ hex_dump((char*)exp, attr[1].ulValueLen);
-+ }
-
--#if HAVE_OPENSSL
-- return verify_sig(sig, sig_len, mod, attr[0].ulValueLen, exp, attr[1].ulValueLen);
-+#if HAVE_OPENSSL && OPENSSL_VERSION_NUMBER > 0x10100000L
-+ unsigned char cert[4096];
-+ attr[0].type = CKA_CLASS;
-+ attr[0].pValue = &type;
-+ type = CKO_CERTIFICATE;
-+ attr[0].ulValueLen = sizeof(CK_ULONG);
-+
-+ attr[1].type = CKA_LABEL;
-+ attr[1].pValue = label;
-+ attr[1].ulValueLen = strlen(label);
-+
-+ check_rv(C_FindObjectsInit(session, attr, 2));
-+ check_rv(C_FindObjects(session, &certificate, 1, &count));
-+ verbose_assert(count == 1);
-+ check_rv(C_FindObjectsFinal(session));
-+
-+ attr[0].type = CKA_VALUE;
-+ attr[0].pValue = cert;
-+ attr[0].ulValueLen = sizeof(cert);
-+
-+ check_rv(C_GetAttributeValue(session, certificate, attr, 1));
-+
-+ printf("Received certificate with length %lu:\n", attr[0].ulValueLen);
-+ hex_dump((char*)cert, attr[0].ulValueLen);
-+
-+ return verify_sig(sig, sig_len, cert, attr[0].ulValueLen, is_rsa);
- #else
- return TEST_RV_OK;
- #endif
diff --git a/app-crypt/eid-mw/metadata.xml b/app-crypt/eid-mw/metadata.xml
index 99549db6384a..1ef7d1fc9202 100644
--- a/app-crypt/eid-mw/metadata.xml
+++ b/app-crypt/eid-mw/metadata.xml
@@ -28,8 +28,5 @@ These three functions form the basis of the countless applications for your eID.
<flag name="p11-kit">
Support for app-crypt/p11-kit.
</flag>
- <flag name="p11v220">
- Enable PKCS#11 v2.20 features.
- </flag>
</use>
</pkgmetadata>