Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package yubico-piv-tool for openSUSE:Factory
checked in at 2022-02-01 16:59:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yubico-piv-tool (Old)
and /work/SRC/openSUSE:Factory/.yubico-piv-tool.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yubico-piv-tool"
Tue Feb 1 16:59:52 2022 rev:15 rq:950455 version:2.2.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/yubico-piv-tool/yubico-piv-tool.changes
2021-03-02 14:32:52.250970335 +0100
+++
/work/SRC/openSUSE:Factory/.yubico-piv-tool.new.1898/yubico-piv-tool.changes
2022-02-01 17:00:03.828845965 +0100
@@ -1,0 +2,11 @@
+Mon Jan 31 20:31:47 UTC 2022 - Dirk M??ller <[email protected]>
+
+- update to 2.2.1:
+ * ykpiv: Minor bug fixes
+ * ykcs11: Improved handling of object attributes
+ * ykcs11: Update flags for EC related mechanisms
+ * ykcs11: Minor bug fixes
+ * test: Improved testing
+ * doc: Improved documentation
+
+-------------------------------------------------------------------
Old:
----
yubico-piv-tool-2.2.0.tar.gz
yubico-piv-tool-2.2.0.tar.gz.sig
New:
----
yubico-piv-tool-2.2.1.tar.gz
yubico-piv-tool-2.2.1.tar.gz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yubico-piv-tool.spec ++++++
--- /var/tmp/diff_new_pack.wdcLLb/_old 2022-02-01 17:00:04.488841324 +0100
+++ /var/tmp/diff_new_pack.wdcLLb/_new 2022-02-01 17:00:04.492841295 +0100
@@ -1,7 +1,7 @@
#
# spec file for package yubico-piv-tool
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define sover 2
Name: yubico-piv-tool
-Version: 2.2.0
+Version: 2.2.1
Release: 0
Summary: Yubico YubiKey NEO CCID Manager
License: BSD-2-Clause
++++++ pthread-link.patch ++++++
--- /var/tmp/diff_new_pack.wdcLLb/_old 2022-02-01 17:00:04.532841014 +0100
+++ /var/tmp/diff_new_pack.wdcLLb/_new 2022-02-01 17:00:04.536840986 +0100
@@ -1,7 +1,7 @@
-Index: yubico-piv-tool-2.2.0/ykcs11/CMakeLists.txt
+Index: yubico-piv-tool-2.2.1/ykcs11/CMakeLists.txt
===================================================================
---- yubico-piv-tool-2.2.0.orig/ykcs11/CMakeLists.txt
-+++ yubico-piv-tool-2.2.0/ykcs11/CMakeLists.txt
+--- yubico-piv-tool-2.2.1.orig/ykcs11/CMakeLists.txt
++++ yubico-piv-tool-2.2.1/ykcs11/CMakeLists.txt
@@ -60,6 +60,9 @@ if(${ENABLE_HARDWARE_TESTS})
set(HW_TESTS 1)
endif(${ENABLE_HARDWARE_TESTS})
@@ -19,6 +19,6 @@
-target_link_libraries(ykcs11_shared ${LIBCRYPTO_LDFLAGS} ykpiv_shared)
+target_link_libraries(ykcs11_shared ${LIBCRYPTO_LDFLAGS} ykpiv_shared
Threads::Threads)
set_target_properties(ykcs11_shared PROPERTIES SOVERSION ${SO_VERSION}
VERSION ${VERSION})
- set_target_properties(ykcs11_shared PROPERTIES INSTALL_RPATH
"${YKPIV_INSTALL_LIB_DIR}")
- if(WIN32)
+ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+ set_target_properties(ykcs11_shared PROPERTIES INSTALL_RPATH
"${YKPIV_INSTALL_LIB_DIR}")
++++++ yubico-piv-tool-2.2.0.tar.gz -> yubico-piv-tool-2.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/CMakeLists.txt
new/yubico-piv-tool-2.2.1/CMakeLists.txt
--- old/yubico-piv-tool-2.2.0/CMakeLists.txt 2020-12-17 09:06:58.000000000
+0100
+++ new/yubico-piv-tool-2.2.1/CMakeLists.txt 2021-09-03 00:10:22.000000000
+0200
@@ -34,7 +34,7 @@
set (yubico_piv_tool_VERSION_MAJOR 2)
set (yubico_piv_tool_VERSION_MINOR 2)
-set (yubico_piv_tool_VERSION_PATCH 0)
+set (yubico_piv_tool_VERSION_PATCH 1)
set (VERSION
"${yubico_piv_tool_VERSION_MAJOR}.${yubico_piv_tool_VERSION_MINOR}.${yubico_piv_tool_VERSION_PATCH}")
set (SO_VERSION 2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/NEWS
new/yubico-piv-tool-2.2.1/NEWS
--- old/yubico-piv-tool-2.2.0/NEWS 2020-12-17 09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/NEWS 2021-09-03 00:10:22.000000000 +0200
@@ -1,5 +1,14 @@
yubico-piv-tool NEWS -- History of user-visible changes. -*- outline -*-
+* Version 2.2.1 (released 2021-09-07)
+
+** ykpiv: Minor bug fixes
+** ykcs11: Improved handling of object attributes
+** ykcs11: Update flags for EC related mechanisms
+** ykcs11: Minor bug fixes
+** test: Improved testing
+** doc: Improved documentation
+
* Version 2.2.0 (released 2021-01-20)
** ykpiv: Increased SO version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/README
new/yubico-piv-tool-2.2.1/README
--- old/yubico-piv-tool-2.2.0/README 2020-12-17 09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/README 2021-09-03 00:10:22.000000000 +0200
@@ -92,19 +92,23 @@
=== Building on Windows
-Building on Windows require MSBuild or Visual Studio and the MSVC compiler.
-
-On Windows, `getopt` is needed to read command line arguments. The path to
`getopt`
-library and include file need to be specified as a command line argument to
`cmake`.
-Also the path to OpenSSL need to be specified either as a command line
argument to `cmake`
+Building on Windows requires MSBuild or Visual Studio and the MSVC compiler.
It also requires
+building the binaries from the
https://developers.yubico.com/yubico-piv-tool/Releases/[source release] package
+and not from the source checked out from the repository on GitHub. This is
because some files that are part of
+the command line shell are generated but they cannot, currently, be generated
on Windows. Those files are, however,
+included in the source release package.
+
+On Windows, `getopt` is needed to read command line arguments. The easiest way
to install `getopt`
+is with the
https://docs.microsoft.com/en-us/cpp/build/vcpkg?view=msvc-160[`vcpkg` package
manager]. The
+path to `getopt` DLL library and include file need to be specified as a
command line argument to `cmake`.
+Also the path to OpenSSL needs to be specified either as a command line
argument to `cmake`
or by setting the environment variable `OPENSSL_ROOT_DIR`
-The command line examples bellow are for `PowerShell` and the prerequisites
-were installed from source.
+The command line examples bellow are for `PowerShell` and the prerequisites
were installed from source (using `vcpkg`).
$ env:OPENSSL_ROOT_DIR ="PATH/TO/OPENSSL_DIR"
$ mkdir build; cd build
- $ cmake -A ARCH -DGETOPT_LIB_DIR="PATH/TO/GETOPT_DIR/lib"
-DGETOPT_INCLUDE_DIR="PATH/TO/GETOPT_DIR/include ..
+ $ cmake -A <ARCH> -DGETOPT_LIB_DIR="PATH/TO/GETOPT_DIR/lib"
-DGETOPT_INCLUDE_DIR="PATH/TO/GETOPT_DIR/include ..
$ cmake --build .
To run the tests, `check` is used. The path to the `check` directory needs to
be
@@ -113,7 +117,7 @@
$ env:OPENSSL_ROOT_DIR ="PATH/TO/OPENSSL_DIR"
$ mkdir build; cd build
- $ cmake -A ARCH -DGETOPT_LIB_DIR="PATH/TO/GETOPT_DIR/lib"
-DGETOPT_INCLUDE_DIR="PATH/TO/GETOPT_DIR/include
-DCHECK_PATH="PATH/TO/CHECK_DIR" ..
+ $ cmake -A <ARCH> -DGETOPT_LIB_DIR="PATH/TO/GETOPT_DIR/lib"
-DGETOPT_INCLUDE_DIR="PATH/TO/GETOPT_DIR/include
-DCHECK_PATH="PATH/TO/CHECK_DIR" ..
$ cmake --build .
$ $env:Path
+=";PATH/TO//CHECK_DIR/bin;PATH/TO/OPENSSL_DIR/bin;PATH/TO/build\lib\Debug;PATH/TO/build\ykcs11\Debug"
$ ctest.exe -C Debug
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/cmake/help2man.cmake
new/yubico-piv-tool-2.2.1/cmake/help2man.cmake
--- old/yubico-piv-tool-2.2.0/cmake/help2man.cmake 2020-12-17
09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/cmake/help2man.cmake 2021-09-03
00:10:22.000000000 +0200
@@ -30,9 +30,9 @@
message (FATAL_ERROR "Cannot find help2man. Please install it.")
ENDIF ()
-MACRO (add_help2man_manpage file command)
+MACRO (add_help2man_manpage file command description)
add_custom_command (OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${file}
- COMMAND ${HELP2MAN_LOCATION} ARGS -s1 -N -o
${CMAKE_CURRENT_SOURCE_DIR}/${file} ./${command}
+ COMMAND ${HELP2MAN_LOCATION} ARGS -s1 -N -n ${description} -o
${CMAKE_CURRENT_SOURCE_DIR}/${file} ./${command}
DEPENDS ${command}
COMMENT "Building manpage for ${command}")
-ENDMACRO ()
\ No newline at end of file
+ENDMACRO ()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/debian/changelog
new/yubico-piv-tool-2.2.1/debian/changelog
--- old/yubico-piv-tool-2.2.0/debian/changelog 2020-12-17 09:06:58.000000000
+0100
+++ new/yubico-piv-tool-2.2.1/debian/changelog 2021-09-03 00:10:22.000000000
+0200
@@ -1,3 +1,9 @@
+yubico-piv-tool (2.2.1) stable; urgency=medium
+
+ * 2.2.1 release
+
+ -- Aveen Ismail <[email protected]> Thu, 2 Sep 2021 13:14:40 +0100
+
yubico-piv-tool (2.2.0) stable; urgency=medium
* 2.2.0 release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yubico-piv-tool-2.2.0/doc/YKCS11/Functions_and_values.adoc
new/yubico-piv-tool-2.2.1/doc/YKCS11/Functions_and_values.adoc
--- old/yubico-piv-tool-2.2.0/doc/YKCS11/Functions_and_values.adoc
2020-12-17 09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/doc/YKCS11/Functions_and_values.adoc
2021-09-03 00:10:22.000000000 +0200
@@ -152,43 +152,43 @@
|82 | Private key for Retired Key 1 | Public key for Retired Key 1 | X.509
Certificate for Retired Key 1 |X.509 Certificate for PIV Attestation 82 |X.509
Certificate for Retired Key 1
-|83 | Private key for Retired Key 2 | Public key for Retired Key 2 | X.509
Certificate for Retired Key 2 | X.509 Certificate for PIV Attestation 82 |X.509
Certificate for Retired Key 2
+|83 | Private key for Retired Key 2 | Public key for Retired Key 2 | X.509
Certificate for Retired Key 2 | X.509 Certificate for PIV Attestation 83 |X.509
Certificate for Retired Key 2
-|84 | Private key for Retired Key 3 | Public key for Retired Key 3 | X.509
Certificate for Retired Key 3 | X.509 Certificate for PIV Attestation 83 |X.509
Certificate for Retired Key 3
+|84 | Private key for Retired Key 3 | Public key for Retired Key 3 | X.509
Certificate for Retired Key 3 | X.509 Certificate for PIV Attestation 84 |X.509
Certificate for Retired Key 3
-|85 | Private key for Retired Key 4 | Public key for Retired Key 4 | X.509
Certificate for Retired Key 4 | X.509 Certificate for PIV Attestation 84 |
X.509 Certificate for Retired Key 4
+|85 | Private key for Retired Key 4 | Public key for Retired Key 4 | X.509
Certificate for Retired Key 4 | X.509 Certificate for PIV Attestation 85 |
X.509 Certificate for Retired Key 4
-|86 | Private key for Retired Key 5 | Public key for Retired Key 5 | X.509
Certificate for Retired Key 5 | X.509 Certificate for PIV Attestation 85 |
X.509 Certificate for Retired Key 5
+|86 | Private key for Retired Key 5 | Public key for Retired Key 5 | X.509
Certificate for Retired Key 5 | X.509 Certificate for PIV Attestation 86 |
X.509 Certificate for Retired Key 5
-|87 | Private key for Retired Key 6 | Public key for Retired Key 6 | X.509
Certificate for Retired Key 6 | X.509 Certificate for PIV Attestation 86| X.509
Certificate for Retired Key 6
+|87 | Private key for Retired Key 6 | Public key for Retired Key 6 | X.509
Certificate for Retired Key 6 | X.509 Certificate for PIV Attestation 87| X.509
Certificate for Retired Key 6
-|88 | Private key for Retired Key 7 | Public key for Retired Key 7 | X.509
Certificate for Retired Key 7 | X.509 Certificate for PIV Attestation 87 |
X.509 Certificate for Retired Key 7
+|88 | Private key for Retired Key 7 | Public key for Retired Key 7 | X.509
Certificate for Retired Key 7 | X.509 Certificate for PIV Attestation 88 |
X.509 Certificate for Retired Key 7
-|89 | Private key for Retired Key 8 | Public key for Retired Key 8 | X.509
Certificate for Retired Key 8 | X.509 Certificate for PIV Attestation 88 |
X.509 Certificate for Retired Key 8
+|89 | Private key for Retired Key 8 | Public key for Retired Key 8 | X.509
Certificate for Retired Key 8 | X.509 Certificate for PIV Attestation 89 |
X.509 Certificate for Retired Key 8
-|8a | Private key for Retired Key 9 | Public key for Retired Key 9 | X.509
Certificate for Retired Key 9 | X.509 Certificate for PIV Attestation 89 |
X.509 Certificate for Retired Key 9
+|8a | Private key for Retired Key 9 | Public key for Retired Key 9 | X.509
Certificate for Retired Key 9 | X.509 Certificate for PIV Attestation 8a |
X.509 Certificate for Retired Key 9
-|8b | Private key for Retired Key 10 | Public key for Retired Key 10 | X.509
Certificate for Retired Key 10 | X.509 Certificate for PIV Attestation 8a |
X.509 Certificate for Retired Key 10
+|8b | Private key for Retired Key 10 | Public key for Retired Key 10 | X.509
Certificate for Retired Key 10 | X.509 Certificate for PIV Attestation 8b |
X.509 Certificate for Retired Key 10
-|8c | Private key for Retired Key 11 | Public key for Retired Key 11 | X.509
Certificate for Retired Key 11 | X.509 Certificate for PIV Attestation 8b |
X.509 Certificate for Retired Key 11
+|8c | Private key for Retired Key 11 | Public key for Retired Key 11 | X.509
Certificate for Retired Key 11 | X.509 Certificate for PIV Attestation 8c |
X.509 Certificate for Retired Key 11
-|8d | Private key for Retired Key 12 | Public key for Retired Key 12 | X.509
Certificate for Retired Key 12 | X.509 Certificate for PIV Attestation 8c |
X.509 Certificate for Retired Key 12
+|8d | Private key for Retired Key 12 | Public key for Retired Key 12 | X.509
Certificate for Retired Key 12 | X.509 Certificate for PIV Attestation 8d |
X.509 Certificate for Retired Key 12
-|8e | Private key for Retired Key 13 | Public key for Retired Key 13 | X.509
Certificate for Retired Key 13 | X.509 Certificate for PIV Attestation 8d |
X.509 Certificate for Retired Key 13
+|8e | Private key for Retired Key 13 | Public key for Retired Key 13 | X.509
Certificate for Retired Key 13 | X.509 Certificate for PIV Attestation 8e |
X.509 Certificate for Retired Key 13
-|8f | Private key for Retired Key 14 | Public key for Retired Key 14 | X.509
Certificate for Retired Key 14 | X.509 Certificate for PIV Attestation 8e |
X.509 Certificate for Retired Key 14
+|8f | Private key for Retired Key 14 | Public key for Retired Key 14 | X.509
Certificate for Retired Key 14 | X.509 Certificate for PIV Attestation 8f |
X.509 Certificate for Retired Key 14
-|90 | Private key for Retired Key 15 | Public key for Retired Key 15 | X.509
Certificate for Retired Key 15 | X.509 Certificate for PIV Attestation 8f |
X.509 Certificate for Retired Key 15
+|90 | Private key for Retired Key 15 | Public key for Retired Key 15 | X.509
Certificate for Retired Key 15 | X.509 Certificate for PIV Attestation 90 |
X.509 Certificate for Retired Key 15
-|91 | Private key for Retired Key 16 | Public key for Retired Key 16 | X.509
Certificate for Retired Key 16 | X.509 Certificate for PIV Attestation 90 |
X.509 Certificate for Retired Key 16
+|91 | Private key for Retired Key 16 | Public key for Retired Key 16 | X.509
Certificate for Retired Key 16 | X.509 Certificate for PIV Attestation 91 |
X.509 Certificate for Retired Key 16
-|92 | Private key for Retired Key 17 | Public key for Retired Key 17 | X.509
Certificate for Retired Key 17 | X.509 Certificate for PIV Attestation 91 |
X.509 Certificate for Retired Key 17
+|92 | Private key for Retired Key 17 | Public key for Retired Key 17 | X.509
Certificate for Retired Key 17 | X.509 Certificate for PIV Attestation 92 |
X.509 Certificate for Retired Key 17
-|93 | Private key for Retired Key 18 | Public key for Retired Key 18 | X.509
Certificate for Retired Key 18 | X.509 Certificate for PIV Attestation 92 |
X.509 Certificate for Retired Key 18
+|93 | Private key for Retired Key 18 | Public key for Retired Key 18 | X.509
Certificate for Retired Key 18 | X.509 Certificate for PIV Attestation 93 |
X.509 Certificate for Retired Key 18
-|94 | Private key for Retired Key 19 | Public key for Retired Key 19 | X.509
Certificate for Retired Key 19 | X.509 Certificate for PIV Attestation 93 |
X.509 Certificate for Retired Key 19
+|94 | Private key for Retired Key 19 | Public key for Retired Key 19 | X.509
Certificate for Retired Key 19 | X.509 Certificate for PIV Attestation 94 |
X.509 Certificate for Retired Key 19
-|95 | Private key for Retired Key 20 | Public key for Retired Key 20 | X.509
Certificate for Retired Key 20 | X.509 Certificate for PIV Attestation 94 |
X.509 Certificate for Retired Key 20
+|95 | Private key for Retired Key 20 | Public key for Retired Key 20 | X.509
Certificate for Retired Key 20 | X.509 Certificate for PIV Attestation 95 |
X.509 Certificate for Retired Key 20
-|f9 | Private key for PIV Attestation | Public key for PIV Attestation | X.509
Certificate for PIV Attestation | X.509 Certificate for PIV Attestation 95 |
X.509 Certificate for PIV Attestation
+|f9 | Private key for PIV Attestation | Public key for PIV Attestation | X.509
Certificate for PIV Attestation | X.509 Certificate for PIV Attestation f9 |
X.509 Certificate for PIV Attestation
|=================================
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/doc/YKCS11/index.adoc
new/yubico-piv-tool-2.2.1/doc/YKCS11/index.adoc
--- old/yubico-piv-tool-2.2.0/doc/YKCS11/index.adoc 2020-12-17
09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/doc/YKCS11/index.adoc 2021-09-03
00:10:22.000000000 +0200
@@ -38,7 +38,7 @@
3- Under System Variables, highlight ???Path??? and click ???Edit??????
-4- Click ???New??? and add the absolute path to yubico-piv-tool/bin
+4- Click ???New??? and add the absolute path to `Yubico PIV Tool\bin`
If setting the system path is not desirable, the `libykpiv.dll` and
`libcrypto-1_1.dll` can be copied into the same
directory as the application that needs to access the ykcs11 module.
@@ -132,4 +132,4 @@
$ make
$ sudo make install
-It is also possible to use
https://github.com/OpenSC/OpenSC/wiki/Using-OpenSC[PKCS#11 Spy], as provided by
OpenSC, to inspect the PKCS#11 communication.
\ No newline at end of file
+It is also possible to use
https://github.com/OpenSC/OpenSC/wiki/Using-OpenSC[PKCS#11 Spy], as provided by
OpenSC, to inspect the PKCS#11 communication.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/lib/CMakeLists.txt
new/yubico-piv-tool-2.2.1/lib/CMakeLists.txt
--- old/yubico-piv-tool-2.2.0/lib/CMakeLists.txt 2020-12-17
09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/lib/CMakeLists.txt 2021-09-03
00:10:22.000000000 +0200
@@ -63,7 +63,9 @@
add_library(ykpiv_shared SHARED ${SOURCE})
target_link_libraries(ykpiv_shared ${LIBCRYPTO_LIBRARIES} ${PCSC_LIBRARIES}
${PCSC_WIN_LIBS} ${PCSC_MACOSX_LIBS} ${PCSC_CUSTOM_LIBS})
set_target_properties(ykpiv_shared PROPERTIES SOVERSION ${SO_VERSION} VERSION
${VERSION})
-set_target_properties(ykpiv_shared PROPERTIES INSTALL_RPATH
"${YKPIV_INSTALL_LIB_DIR}")
+if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+ set_target_properties(ykpiv_shared PROPERTIES INSTALL_RPATH
"${YKPIV_INSTALL_LIB_DIR}")
+endif()
if(WIN32)
set_target_properties(ykpiv_shared PROPERTIES OUTPUT_NAME libykpiv)
else(WIN32)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/lib/ykpiv-config.h
new/yubico-piv-tool-2.2.1/lib/ykpiv-config.h
--- old/yubico-piv-tool-2.2.0/lib/ykpiv-config.h 2020-12-17
09:07:52.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/lib/ykpiv-config.h 2021-09-03
00:10:51.000000000 +0200
@@ -43,7 +43,7 @@
* version number. Used together with ykneomgr_check_version() to
verify
* header file and run-time library consistency.
*/
-#define YKPIV_VERSION_STRING "2.2.0"
+#define YKPIV_VERSION_STRING "2.2.1"
/**
* YKPIV_VERSION_NUMBER
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/lib/ykpiv.pc
new/yubico-piv-tool-2.2.1/lib/ykpiv.pc
--- old/yubico-piv-tool-2.2.0/lib/ykpiv.pc 2020-12-17 09:07:52.000000000
+0100
+++ new/yubico-piv-tool-2.2.1/lib/ykpiv.pc 2021-09-03 00:10:51.000000000
+0200
@@ -33,7 +33,7 @@
Name: yubico-piv-tool
Description: Yubico PIV C Library
URL: https://www.yubico.com/
-Version: 2.2.0
+Version: 2.2.1
Requires.private: libcrypto
Libs: -L${libdir} -lykpiv
Cflags: -I${includedir}/ykpiv
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yubico-piv-tool-2.2.0/resources/macos/make_universal_binaries.sh
new/yubico-piv-tool-2.2.1/resources/macos/make_universal_binaries.sh
--- old/yubico-piv-tool-2.2.0/resources/macos/make_universal_binaries.sh
1970-01-01 01:00:00.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/resources/macos/make_universal_binaries.sh
2021-09-03 00:10:22.000000000 +0200
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# Script to produce universal binaries for OSX by combining 2 binary sets
+if [ "$#" -ne 2 ]; then
+ echo "This script combines x86_64 and arm64 binaries into universal
binaries for MacOS"
+ echo ""
+ echo " Usage: ./make_universal_binaries.sh <path/to/x86_64_binaries>
<path/to/arm64_binaries>"
+ echo "";
+ exit 0
+fi
+
+X86_64_PATH=$1
+ARM64_PATH=$2
+UNIVERSAL_PATH=universal
+
+set -x
+
+mkdir -p universal/usr/local/bin universal/usr/local/lib
+
+for f in $X86_64_PATH/usr/local/bin/*; do
+ filename="$(basename $f)"
+ lipo -create -output $UNIVERSAL_PATH/usr/local/bin/$filename
$X86_64_PATH/usr/local/bin/$filename $ARM64_PATH/usr/local/bin/$filename
+done
+
+for f in $X86_64_PATH/usr/local/lib/*.dylib; do
+ filename="$(basename $f)"
+ lipo -create -output $UNIVERSAL_PATH/usr/local/lib/$filename
$X86_64_PATH/usr/local/lib/$filename $ARM64_PATH/usr/local/lib/$filename
+done
+
+cp -r $X86_64_PATH/usr/local/share $UNIVERSAL_PATH/usr/local/
+cp -r $X86_64_PATH/usr/local/licenses $UNIVERSAL_PATH/usr/local/
+cp -r $X86_64_PATH/usr/local/include $UNIVERSAL_PATH/usr/local/
+
+set +x
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yubico-piv-tool-2.2.0/resources/scripts/cmdline_test.sh
new/yubico-piv-tool-2.2.1/resources/scripts/cmdline_test.sh
--- old/yubico-piv-tool-2.2.0/resources/scripts/cmdline_test.sh 2020-12-17
09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/resources/scripts/cmdline_test.sh 2021-09-03
00:10:22.000000000 +0200
@@ -10,8 +10,11 @@
BIN=$1 # path to the yubico-piv-tool command line tool
fi
+
+SLOTS=('9a' '9c' '9d' '9e' '82' '83' '84' '85' '86' '87' '88' '89' '8a' '8b'
'8c' '8d' '8e' '8f' '90' '91' '92' '93' '94' '95')
+
set -e
-set -x
+#set -x
if [ -e yubico-piv-tool_test_dir ];
then
@@ -38,132 +41,133 @@
$BIN -achange-puk -P000000 -N00000000 || true
$BIN -areset
-echo "********************** Generate ECCP256 in 9a ********************* "
+echo "********************** Generate ECCP256 in all slots
********************* "
-# Generate key on-board, issue certificate, and verify it
-$BIN -agenerate -s9a -AECCP256 -o key_9a.pub
-$BIN -averify -P123456 -s9a
-S'/CN=YubicoTestECCP256/OU=YubicoGenerated/O=yubico.com/' -aselfsign -i
key_9a.pub -o cert_9a.pem
-$BIN -averify -P123456 -s9a -atest-signature -i cert_9a.pem
-$BIN -aimport-certificate -P123456 -s9a -i cert_9a.pem
-
-# Read status and validate fields
-STATUS=$($BIN -astatus)
-echo "$STATUS"
-ALGO_9A=$(echo "$STATUS" |grep "Slot 9a" -A 6 |grep "Algorithm" |tr -d
"[:blank:]")
-if [ "x$ALGO_9A" != "xAlgorithm:ECCP256" ]; then
- echo "$ALGO_9A"
+for slot in "${SLOTS[@]}"
+do
+ echo "Generating ECCP256 on slot $slot"
+ $BIN -agenerate -s $slot -AECCP256 -o key.pub
+ $BIN -averify -P123456 -s$slot
-S'/CN=YubicoTestECCP256/OU=YubicoGenerated/O=yubico.com/' --valid-days '5'
-aselfsign -i key.pub -o cert.pem
+ $BIN -averify -P123456 -s$slot -atest-signature -i cert.pem
+ $BIN -aimport-certificate -P123456 -s$slot -i cert.pem
+
+ # Read status and validate fields
+ STATUS=$($BIN -astatus)
+ echo "$STATUS"
+ ALGO=$(echo "$STATUS" |grep "Slot $slot" -A 6 |grep "Algorithm" |tr -d
"[:blank:]")
+ if [ "x$ALGO" != "xAlgorithm:ECCP256" ]; then
+ echo "$ALGO"
echo "Generated algorithm incorrect." >/dev/stderr
exit 1
-fi
+ fi
-SUBJECT_9A=$(echo "$STATUS" |grep "Slot 9a" -A 6 |grep "Subject DN" |tr -d
"[:blank:]")
-if [ "x$SUBJECT_9A" !=
"xSubjectDN:CN=YubicoTestECCP256,OU=YubicoGenerated,O=yubico.com" ]; then
- echo "$SUBJECT_9A"
+ SUBJECT=$(echo "$STATUS" |grep "Slot $slot" -A 6 |grep "Subject DN" |tr -d
"[:blank:]")
+ if [ "x$SUBJECT" !=
"xSubjectDN:CN=YubicoTestECCP256,OU=YubicoGenerated,O=yubico.com" ]; then
+ echo "$SUBJECT"
echo "Certificate subject incorrect." >/dev/stderr
exit 1
-fi
+ fi
-$BIN -a verify-pin -P123456 --sign -s 9a -A ECCP256 -i data.txt -o data.sig
-exitcode=$?
-if [ "$exitcode" != "0" ]; then
- exit $exitcode
-fi
+ $BIN -a verify-pin -P123456 --sign -s $slot -A ECCP256 -i data.txt -o
data.sig
+done
-echo "********************** Generate ECCP384 in 9c ********************* "
-# Generate key on-board, issue certificate, and verify it
-$BIN -agenerate -s9c -AECCP384 -o key_9c.pub
-$BIN -averify -P123456 -s9c
-S'/CN=YubicoTestECCP384/OU=YubicoGenerated/O=yubico.com/' -aselfsign -i
key_9c.pub -o cert_9c.pem
-$BIN -averify -P123456 -s9c -atest-signature -i cert_9c.pem
-$BIN -aimport-certificate -P123456 -s9c -i cert_9c.pem
-
-# Read status and validate fields
-STATUS=$($BIN -astatus)
-echo "$STATUS"
-ALGO_9C=$(echo "$STATUS" |grep "Slot 9c" -A 6 |grep "Algorithm" |tr -d
"[:blank:]")
-if [ "x$ALGO_9C" != "xAlgorithm:ECCP384" ]; then
- echo "$ALGO_9C"
+echo "********************** Generate ECCP384 in all ********************* "
+
+for slot in "${SLOTS[@]}"
+do
+ # Generate key on-board, issue certificate, and verify it
+ $BIN -agenerate -s$slot -AECCP384 -o key.pub
+ $BIN -averify -P123456 -s$slot
-S'/CN=YubicoTestECCP384/OU=YubicoGenerated/O=yubico.com/' -aselfsign -i
key.pub -o cert.pem
+ $BIN -averify -P123456 -s$slot -atest-signature -i cert.pem
+ $BIN -aimport-certificate -P123456 -s$slot -i cert.pem
+
+ # Read status and validate fields
+ STATUS=$($BIN -astatus)
+ echo "$STATUS"
+ ALGO=$(echo "$STATUS" |grep "Slot $slot" -A 6 |grep "Algorithm" |tr -d
"[:blank:]")
+ if [ "x$ALGO" != "xAlgorithm:ECCP384" ]; then
+ echo "$ALGO"
echo "Generated algorithm incorrect." >/dev/stderr
exit 1
-fi
+ fi
-SUBJECT_9C=$(echo "$STATUS" |grep "Slot 9c" -A 6 |grep "Subject DN" |tr -d
"[:blank:]")
-if [ "x$SUBJECT_9C" !=
"xSubjectDN:CN=YubicoTestECCP384,OU=YubicoGenerated,O=yubico.com" ]; then
- echo "$SUBJECT_9C"
+ SUBJECT=$(echo "$STATUS" |grep "Slot $slot" -A 6 |grep "Subject DN" |tr -d
"[:blank:]")
+ if [ "x$SUBJECT" !=
"xSubjectDN:CN=YubicoTestECCP384,OU=YubicoGenerated,O=yubico.com" ]; then
+ echo "$SUBJECT"
echo "Certificate subject incorrect." >/dev/stderr
exit 1
-fi
+ fi
-$BIN -a verify-pin -P123456 --sign -s 9c -A ECCP384 -i data.txt -o data.sig
-exitcode=$?
-if [ "$exitcode" != "0" ]; then
- exit $exitcode
-fi
+ $BIN -a verify-pin -P123456 --sign -s $slot -A ECCP384 -i data.txt -o
data.sig
+done
-echo "********************** Generate RSA1024 in 9d ********************* "
+echo "********************** Generate RSA1024 in all slots
********************* "
-# Generate key on-board, issue certificate, and verify it
-$BIN -agenerate -s9d -ARSA1024 -o key_9d.pub
-$BIN -averify -P123456 -s9d
-S'/CN=YubicoTestRSA1024/OU=YubicoGenerated/O=yubico.com/' -aselfsign -i
key_9d.pub -o cert_9d.pem
-$BIN -averify -P123456 -s9d -atest-signature -i cert_9d.pem
-$BIN -aimport-certificate -P123456 -s9d -i cert_9d.pem
-
-# Read status and validate fields
-STATUS=$($BIN -astatus)
-echo "$STATUS"
-ALGO_9D=$(echo "$STATUS" |grep "Slot 9d" -A 6 |grep "Algorithm" |tr -d
"[:blank:]")
-if [ "x$ALGO_9D" != "xAlgorithm:RSA1024" ]; then
- echo "$ALGO_9D"
+for slot in "${SLOTS[@]}"
+do
+ # Generate key on-board, issue certificate, and verify it
+ $BIN -agenerate -s$slot -ARSA1024 -o key.pub
+ $BIN -averify -P123456 -s$slot
-S'/CN=YubicoTestRSA1024/OU=YubicoGenerated/O=yubico.com/' -aselfsign -i
key.pub -o cert.pem
+ $BIN -averify -P123456 -s$slot -atest-signature -i cert.pem
+ $BIN -aimport-certificate -P123456 -s$slot -i cert.pem
+
+ # Read status and validate fields
+ STATUS=$($BIN -astatus)
+ echo "$STATUS"
+ ALGO=$(echo "$STATUS" |grep "Slot $slot" -A 6 |grep "Algorithm" |tr -d
"[:blank:]")
+ if [ "x$ALGO" != "xAlgorithm:RSA1024" ]; then
+ echo "$ALGO"
echo "Generated algorithm incorrect." >/dev/stderr
exit 1
-fi
+ fi
-SUBJECT_9D=$(echo "$STATUS" |grep "Slot 9d" -A 6 |grep "Subject DN" |tr -d
"[:blank:]")
-if [ "x$SUBJECT_9D" !=
"xSubjectDN:CN=YubicoTestRSA1024,OU=YubicoGenerated,O=yubico.com" ]; then
- echo "$SUBJECT_9D"
+ SUBJECT=$(echo "$STATUS" |grep "Slot $slot" -A 6 |grep "Subject DN" |tr -d
"[:blank:]")
+ if [ "x$SUBJECT" !=
"xSubjectDN:CN=YubicoTestRSA1024,OU=YubicoGenerated,O=yubico.com" ]; then
+ echo "$SUBJECT"
echo "Certificate subject incorrect." >/dev/stderr
exit 1
-fi
+ fi
-$BIN -a verify-pin -P123456 --sign -s 9d -A RSA1024 -i data.txt -o data.sig
-exitcode=$?
-if [ "$exitcode" != "0" ]; then
- exit $exitcode
-fi
+ $BIN -a verify-pin -P123456 --sign -s $slot -A RSA1024 -i data.txt -o
data.sig
+done
-echo "********************** Generate RSA2048 in 9e ********************* "
+echo "********************** Generate RSA2048 in all slots
********************* "
-# Generate key on-board, issue certificate, and verify it
-$BIN -agenerate -s9e -ARSA2048 -o key_9e.pub
-$BIN -averify -P123456 -s9e
-S'/CN=YubicoTestRSA2048/OU=YubicoGenerated/O=yubico.com/' -aselfsign -i
key_9e.pub -o cert_9e.pem
-$BIN -averify -P123456 -s9e -atest-signature -i cert_9e.pem
-$BIN -aimport-certificate -P123456 -s9e -i cert_9e.pem
-
-# Read status and validate fields
-STATUS=$($BIN -astatus)
-echo "$STATUS"
-ALGO_9E=$(echo "$STATUS" |grep "Slot 9e" -A 6 |grep "Algorithm" |tr -d
"[:blank:]")
-if [ "x$ALGO_9E" != "xAlgorithm:RSA2048" ]; then
- echo "$ALGO_9E"
+for slot in "${SLOTS[@]}"
+do
+ # Generate key on-board, issue certificate, and verify it
+ $BIN -agenerate -s$slot -ARSA2048 -o key.pub
+ $BIN -averify -P123456 -s$slot
-S'/CN=YubicoTestRSA2048/OU=YubicoGenerated/O=yubico.com/' -aselfsign -i
key.pub -o cert.pem
+ $BIN -averify -P123456 -s$slot -atest-signature -i cert.pem
+ $BIN -aimport-certificate -P123456 -s$slot -i cert.pem
+
+ # Read status and validate fields
+ STATUS=$($BIN -astatus)
+ echo "$STATUS"
+ ALGO=$(echo "$STATUS" |grep "Slot $slot" -A 6 |grep "Algorithm" |tr -d
"[:blank:]")
+ if [ "x$ALGO" != "xAlgorithm:RSA2048" ]; then
+ echo "$ALGO"
echo "Generated algorithm incorrect." >/dev/stderr
exit 1
-fi
+ fi
-SUBJECT_9E=$(echo "$STATUS" |grep "Slot 9e" -A 6 |grep "Subject DN" |tr -d
"[:blank:]")
-if [ "x$SUBJECT_9E" !=
"xSubjectDN:CN=YubicoTestRSA2048,OU=YubicoGenerated,O=yubico.com" ]; then
- echo "$SUBJECT_9E"
+ SUBJECT=$(echo "$STATUS" |grep "Slot $slot" -A 6 |grep "Subject DN" |tr -d
"[:blank:]")
+ if [ "x$SUBJECT" !=
"xSubjectDN:CN=YubicoTestRSA2048,OU=YubicoGenerated,O=yubico.com" ]; then
+ echo "$SUBJECT"
echo "Certificate subject incorrect." >/dev/stderr
exit 1
-fi
+ fi
+
+ $BIN -a verify-pin -P123456 --sign -s $slot -A RSA2048 -i data.txt -o
data.sig
+done
+
+
+
-$BIN -a verify-pin -P123456 --sign -s 9e -A RSA2048 -i data.txt -o data.sig
-exitcode=$?
-if [ "$exitcode" != "0" ]; then
- exit $exitcode
-fi
cd ..
rm -r yubico-piv-tool_test_dir
-set +x
+#set +x
set +e
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yubico-piv-tool-2.2.0/resources/win/yubico-piv-tool_x64.wxs
new/yubico-piv-tool-2.2.1/resources/win/yubico-piv-tool_x64.wxs
--- old/yubico-piv-tool-2.2.0/resources/win/yubico-piv-tool_x64.wxs
2020-12-17 09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/resources/win/yubico-piv-tool_x64.wxs
2021-09-03 00:10:22.000000000 +0200
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
- <?define ProductVersion="2.1.0" ?>
+ <?define ProductVersion="2.2.1" ?>
<?define ProductName="Yubico PIV Tool (x64)" ?>
<Product Id="*" UpgradeCode="e4f980c4-5dd5-4d39-95b7-c6362ae65be8"
Name="$(var.ProductName)" Version="$(var.ProductVersion)" Manufacturer="Yubico
AB" Language="1033">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yubico-piv-tool-2.2.0/resources/win/yubico-piv-tool_x86.wxs
new/yubico-piv-tool-2.2.1/resources/win/yubico-piv-tool_x86.wxs
--- old/yubico-piv-tool-2.2.0/resources/win/yubico-piv-tool_x86.wxs
2020-12-17 09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/resources/win/yubico-piv-tool_x86.wxs
2021-09-03 00:10:22.000000000 +0200
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
- <?define ProductVersion="2.1.0" ?>
+ <?define ProductVersion="2.2.1" ?>
<?define ProductName="Yubico PIV Tool (x86)" ?>
<Product Id="*" UpgradeCode="1aa2f085-add9-4556-9e21-299b078e6273"
Name="$(var.ProductName)" Version="$(var.ProductVersion)" Manufacturer="Yubico
AB" Language="1033">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/tool/CMakeLists.txt
new/yubico-piv-tool-2.2.1/tool/CMakeLists.txt
--- old/yubico-piv-tool-2.2.0/tool/CMakeLists.txt 2020-12-17
09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/tool/CMakeLists.txt 2021-09-03
00:10:22.000000000 +0200
@@ -57,7 +57,10 @@
target_link_libraries(yubico-piv-tool ${LIBCRYPTO_LDFLAGS} ${LINK_LIBS_WIN}
ykpiv_shared)
add_coverage(yubico-piv-tool)
-set_target_properties(yubico-piv-tool PROPERTIES INSTALL_RPATH
"${YKPIV_INSTALL_LIB_DIR}")
+if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+ set_target_properties(yubico-piv-tool PROPERTIES INSTALL_RPATH
"${YKPIV_INSTALL_LIB_DIR}")
+endif()
+
install(
TARGETS yubico-piv-tool
ARCHIVE DESTINATION "${YKPIV_INSTALL_LIB_DIR}"
@@ -66,7 +69,7 @@
if (GENERATE_MAN_PAGES)
include (${CMAKE_SOURCE_DIR}/cmake/help2man.cmake)
- add_help2man_manpage (yubico-piv-tool.1 yubico-piv-tool)
+ add_help2man_manpage (yubico-piv-tool.1 yubico-piv-tool "Tool for managing
Personal Identity Verification credentials on Yubikeys")
add_custom_target (yubico-piv-tool-man ALL DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/yubico-piv-tool.1)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/yubico-piv-tool.1" DESTINATION
"${YKPIV_INSTALL_MAN_DIR}/man1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/tool/cmdline.c
new/yubico-piv-tool-2.2.1/tool/cmdline.c
--- old/yubico-piv-tool-2.2.0/tool/cmdline.c 2020-12-17 09:07:52.000000000
+0100
+++ new/yubico-piv-tool-2.2.1/tool/cmdline.c 2021-09-03 00:10:51.000000000
+0200
@@ -1,7 +1,7 @@
/*
File autogenerated by gengetopt version 2.23
generated with the following command:
- gengetopt --conf-parser -i
/home/aveen/yubico_workspace/yubico-piv-tool-2.2.0/yubico-piv-tool/tool/cmdline.ggo
--output-dir
/home/aveen/yubico_workspace/yubico-piv-tool-2.2.0/yubico-piv-tool/tool
+ gengetopt --conf-parser -i
/home/aveen/yubico_workspace/yubico-piv-tool-2.2.1/yubico-piv-tool/tool/cmdline.ggo
--output-dir
/home/aveen/yubico_workspace/yubico-piv-tool-2.2.1/yubico-piv-tool/tool
The developers of gengetopt consider the fixed text that goes in all
gengetopt output files to be in the public domain:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/tool/yubico-piv-tool.1
new/yubico-piv-tool-2.2.1/tool/yubico-piv-tool.1
--- old/yubico-piv-tool-2.2.0/tool/yubico-piv-tool.1 2020-12-17
09:07:59.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/tool/yubico-piv-tool.1 2021-09-03
00:10:57.000000000 +0200
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
-.TH YUBICO-PIV-TOOL "1" "December 2020" "yubico-piv-tool 2.2.0" "User Commands"
+.TH YUBICO-PIV-TOOL "1" "September 2021" "yubico-piv-tool 2.2.1" "User
Commands"
.SH NAME
-yubico-piv-tool \- manual page for yubico-piv-tool 2.2.0
+yubico-piv-tool \- Tool for managing Personal Identity Verification
credentials on Yubikeys
.SH SYNOPSIS
.B yubico-piv-tool
[\fI\,OPTION\/\fR]...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/ykcs11/CMakeLists.txt
new/yubico-piv-tool-2.2.1/ykcs11/CMakeLists.txt
--- old/yubico-piv-tool-2.2.0/ykcs11/CMakeLists.txt 2020-12-17
09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/ykcs11/CMakeLists.txt 2021-09-03
00:10:22.000000000 +0200
@@ -75,7 +75,9 @@
add_library(ykcs11_shared SHARED ${SOURCE})
target_link_libraries(ykcs11_shared ${LIBCRYPTO_LDFLAGS} ykpiv_shared)
set_target_properties(ykcs11_shared PROPERTIES SOVERSION ${SO_VERSION} VERSION
${VERSION})
-set_target_properties(ykcs11_shared PROPERTIES INSTALL_RPATH
"${YKPIV_INSTALL_LIB_DIR}")
+if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+ set_target_properties(ykcs11_shared PROPERTIES INSTALL_RPATH
"${YKPIV_INSTALL_LIB_DIR}")
+endif()
if(WIN32)
set_target_properties(ykcs11_shared PROPERTIES OUTPUT_NAME libykcs11)
else(WIN32)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/ykcs11/mechanisms.c
new/yubico-piv-tool-2.2.1/ykcs11/mechanisms.c
--- old/yubico-piv-tool-2.2.0/ykcs11/mechanisms.c 2020-12-17
09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/ykcs11/mechanisms.c 2021-09-03
00:10:22.000000000 +0200
@@ -706,9 +706,23 @@
break;
case CKA_SENSITIVE:
+ if (*((CK_BBOOL *)templ[i].pValue) != CK_TRUE) {
+ DBG("CKA_SENSITIVE must be TRUE or omitted");
+ return CKR_ATTRIBUTE_VALUE_INVALID;
+ }
+ break;
+
+ case CKA_EXTRACTABLE:
+ if (*((CK_BBOOL *)templ[i].pValue) != CK_FALSE) {
+ DBG("CKA_EXTRACTABLE must be FALSE or omitted");
+ return CKR_ATTRIBUTE_VALUE_INVALID;
+ }
+ break;
+
case CKA_DECRYPT:
case CKA_UNWRAP:
case CKA_SIGN:
+ case CKA_SIGN_RECOVER:
case CKA_PRIVATE:
case CKA_TOKEN:
case CKA_DERIVE:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/ykcs11/objects.c
new/yubico-piv-tool-2.2.1/ykcs11/objects.c
--- old/yubico-piv-tool-2.2.0/ykcs11/objects.c 2020-12-17 09:06:58.000000000
+0100
+++ new/yubico-piv-tool-2.2.1/ykcs11/objects.c 2021-09-03 00:10:22.000000000
+0200
@@ -560,8 +560,8 @@
case CKA_ID:
DBG("ID");
len = sizeof(CK_BYTE);
- ul_tmp = piv_objects[obj].sub_id;
- data = (CK_BYTE_PTR) &ul_tmp;
+ b_tmp[0] = piv_objects[obj].sub_id;
+ data = b_tmp;
break;
case CKA_SENSITIVE:
@@ -722,6 +722,13 @@
data = b_tmp;
break;
+ case CKA_SIGN_RECOVER:
+ DBG("SIGN_RECOVER");
+ len = sizeof(CK_BBOOL);
+ b_tmp[0] = CK_FALSE;
+ data = b_tmp;
+ break;
+
default:
DBG("UNKNOWN ATTRIBUTE %lx (%lu)", template[0].type, template[0].type);
template->ulValueLen = CK_UNAVAILABLE_INFORMATION;
@@ -1576,10 +1583,23 @@
break;
+ case CKA_SENSITIVE:
+ if (*((CK_BBOOL *)templ[i].pValue) != CK_TRUE) {
+ DBG("CKA_SENSITIVE must be TRUE or omitted");
+ return CKR_ATTRIBUTE_VALUE_INVALID;
+ }
+ break;
+
+ case CKA_EXTRACTABLE:
+ if (*((CK_BBOOL *)templ[i].pValue) != CK_FALSE) {
+ DBG("CKA_EXTRACTABLE must be FALSE or omitted");
+ return CKR_ATTRIBUTE_VALUE_INVALID;
+ }
+ break;
+
case CKA_TOKEN:
case CKA_LABEL:
case CKA_SUBJECT:
- case CKA_SENSITIVE:
case CKA_DERIVE:
// Ignore other attributes
break;
@@ -1689,10 +1709,23 @@
break;
+ case CKA_SENSITIVE:
+ if (*((CK_BBOOL *)templ[i].pValue) != CK_TRUE) {
+ DBG("CKA_SENSITIVE must be TRUE or omitted");
+ return CKR_ATTRIBUTE_VALUE_INVALID;
+ }
+ break;
+
+ case CKA_EXTRACTABLE:
+ if (*((CK_BBOOL *)templ[i].pValue) != CK_FALSE) {
+ DBG("CKA_EXTRACTABLE must be FALSE or omitted");
+ return CKR_ATTRIBUTE_VALUE_INVALID;
+ }
+ break;
+
case CKA_TOKEN:
case CKA_LABEL:
case CKA_SUBJECT:
- case CKA_SENSITIVE:
case CKA_DERIVE:
// Ignore other attributes
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/ykcs11/openssl_utils.c
new/yubico-piv-tool-2.2.1/ykcs11/openssl_utils.c
--- old/yubico-piv-tool-2.2.0/ykcs11/openssl_utils.c 2020-12-17
09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/ykcs11/openssl_utils.c 2021-09-03
00:10:22.000000000 +0200
@@ -482,6 +482,9 @@
CK_KEY_TYPE do_get_key_type(ykcs11_pkey_t *key) {
+ if(!key) // EVP_PKEY_base_id doesn't handle NULL
+ return CKK_VENDOR_DEFINED; // Actually an error
+
switch (EVP_PKEY_base_id(key)) {
case EVP_PKEY_RSA:
return CKK_RSA;
@@ -538,7 +541,6 @@
CK_RV do_get_modulus(ykcs11_pkey_t *key, CK_BYTE_PTR data, CK_ULONG_PTR len) {
RSA *rsa = NULL;
const BIGNUM *n = NULL;
- CK_RV rv;
rsa = EVP_PKEY_get0_RSA(key);
if (rsa == NULL)
@@ -546,25 +548,18 @@
RSA_get0_key(rsa, &n, NULL, NULL);
if ((CK_ULONG)BN_num_bytes(n) > *len) {
- rv = CKR_BUFFER_TOO_SMALL;
- goto get_mod_cleanup;
+ return CKR_BUFFER_TOO_SMALL;
}
*len = (CK_ULONG)BN_bn2bin(n, data);
return CKR_OK;
-get_mod_cleanup:
- if(n != NULL) {
- BN_free(n);
- }
- return rv;
}
CK_RV do_get_public_exponent(ykcs11_pkey_t *key, CK_BYTE_PTR data,
CK_ULONG_PTR len) {
RSA *rsa = NULL;
const BIGNUM *bn_e;
- CK_RV rv;
rsa = EVP_PKEY_get0_RSA(key);
if (rsa == NULL)
@@ -572,17 +567,11 @@
RSA_get0_key(rsa, NULL, &bn_e, NULL);
if ((CK_ULONG)BN_num_bytes(bn_e) > *len) {
- rv = CKR_BUFFER_TOO_SMALL;
- goto get_pubexp_cleanup;
+ return CKR_BUFFER_TOO_SMALL;
}
*len = (CK_ULONG)BN_bn2bin(bn_e, data);
return CKR_OK;
-get_pubexp_cleanup:
- if(bn_e != NULL) {
- BN_free(bn_e);
- }
- return rv;
}
/* #include <stdio.h> */
@@ -768,8 +757,7 @@
goto strip_der_cleanup;
}
- ECDSA_SIG_free(sig);
- return CKR_OK;
+ rv = CKR_OK;
strip_der_cleanup:
ECDSA_SIG_free(sig);
return rv;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/ykcs11/tests/ykcs11_tests.c
new/yubico-piv-tool-2.2.1/ykcs11/tests/ykcs11_tests.c
--- old/yubico-piv-tool-2.2.0/ykcs11/tests/ykcs11_tests.c 2020-12-17
09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/ykcs11/tests/ykcs11_tests.c 2021-09-03
00:10:22.000000000 +0200
@@ -81,9 +81,9 @@
static void init_connection() {
asrt(funcs->C_Initialize(NULL), CKR_OK, "INITIALIZE");
- CK_SLOT_ID pSlotList;
+ CK_SLOT_ID pSlotList[16];
CK_ULONG pulCount = 16;
- asrt(funcs->C_GetSlotList(true, &pSlotList, &pulCount), CKR_OK,
"GETSLOTLIST");
+ asrt(funcs->C_GetSlotList(true, pSlotList, &pulCount), CKR_OK,
"GETSLOTLIST");
}
static void test_lib_info() {
@@ -217,13 +217,13 @@
{1024, 2048, CKF_HW | CKF_SIGN | CKF_VERIFY},
{1024, 2048, CKF_HW | CKF_SIGN | CKF_VERIFY},
{1024, 2048, CKF_HW | CKF_SIGN | CKF_VERIFY},
- {256, 384, CKF_HW | CKF_GENERATE_KEY_PAIR},
- {256, 384, CKF_HW | CKF_SIGN | CKF_VERIFY},
- {256, 384, CKF_HW | CKF_SIGN | CKF_VERIFY},
- {256, 384, CKF_HW | CKF_SIGN | CKF_VERIFY},
- {256, 384, CKF_HW | CKF_SIGN | CKF_VERIFY},
- {256, 384, CKF_HW | CKF_SIGN | CKF_VERIFY},
- {256, 384, CKF_HW | CKF_DERIVE},
+ {256, 384, CKF_HW | CKF_GENERATE_KEY_PAIR | CKF_EC_F_P | CKF_EC_NAMEDCURVE
| CKF_EC_UNCOMPRESS},
+ {256, 384, CKF_HW | CKF_SIGN | CKF_VERIFY | CKF_EC_F_P | CKF_EC_NAMEDCURVE
| CKF_EC_UNCOMPRESS},
+ {256, 384, CKF_HW | CKF_SIGN | CKF_VERIFY | CKF_EC_F_P | CKF_EC_NAMEDCURVE
| CKF_EC_UNCOMPRESS},
+ {256, 384, CKF_HW | CKF_SIGN | CKF_VERIFY | CKF_EC_F_P | CKF_EC_NAMEDCURVE
| CKF_EC_UNCOMPRESS},
+ {256, 384, CKF_HW | CKF_SIGN | CKF_VERIFY | CKF_EC_F_P | CKF_EC_NAMEDCURVE
| CKF_EC_UNCOMPRESS},
+ {256, 384, CKF_HW | CKF_SIGN | CKF_VERIFY | CKF_EC_F_P | CKF_EC_NAMEDCURVE
| CKF_EC_UNCOMPRESS},
+ {256, 384, CKF_HW | CKF_DERIVE | CKF_EC_F_P | CKF_EC_NAMEDCURVE |
CKF_EC_UNCOMPRESS},
{0, 0, CKF_DIGEST},
{0, 0, CKF_DIGEST},
{0, 0, CKF_DIGEST},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yubico-piv-tool-2.2.0/ykcs11/tests/ykcs11_tests_util.c
new/yubico-piv-tool-2.2.1/ykcs11/tests/ykcs11_tests_util.c
--- old/yubico-piv-tool-2.2.0/ykcs11/tests/ykcs11_tests_util.c 2020-12-17
09:06:58.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/ykcs11/tests/ykcs11_tests_util.c 2021-09-03
00:10:22.000000000 +0200
@@ -1332,6 +1332,7 @@
CK_BBOOL obj_decrypt;
CK_BBOOL obj_unwrap;
CK_BBOOL obj_sign;
+ CK_BBOOL obj_sign_recover;
CK_BBOOL obj_derive;
CK_ULONG obj_modulus_bits;
CK_BBOOL obj_always_authenticate;
@@ -1352,6 +1353,7 @@
{CKA_DECRYPT, &obj_decrypt, sizeof(CK_BBOOL)},
{CKA_UNWRAP, &obj_unwrap, sizeof(CK_BBOOL)},
{CKA_SIGN, &obj_sign, sizeof(CK_BBOOL)},
+ {CKA_SIGN_RECOVER, &obj_sign_recover, sizeof(CK_BBOOL)},
{CKA_DERIVE, &obj_derive, sizeof(CK_BBOOL)},
{CKA_MODULUS_BITS, &obj_modulus_bits, sizeof(CK_ULONG)},
{CKA_ALWAYS_AUTHENTICATE, &obj_always_authenticate, sizeof(CK_BBOOL)},
@@ -1362,7 +1364,7 @@
{CKA_LABEL, obj_label, sizeof(obj_label)}
};
- asrt(funcs->C_GetAttributeValue(session, privkey, template, 16), CKR_OK,
"GET BASIC ATTRIBUTES");
+ asrt(funcs->C_GetAttributeValue(session, privkey, template, 17), CKR_OK,
"GET BASIC ATTRIBUTES");
asrt(obj_class, CKO_PRIVATE_KEY, "CLASS");
asrt(obj_token, CK_TRUE, "TOKEN");
asrt(obj_private, CK_TRUE, "PRIVATE");
@@ -1375,6 +1377,7 @@
asrt(obj_decrypt, CK_TRUE, "DECRYPT");
asrt(obj_unwrap, CK_FALSE, "UNWRAP");
asrt(obj_sign, CK_TRUE, "SIGN");
+ asrt(obj_sign_recover, CK_FALSE, "SIGN_RECOVER");
asrt(obj_derive, CK_FALSE, "DERIVE");
asrt(obj_modulus_bits, key_size, "MODULUS BITS");
asrt(obj_always_authenticate, always_authenticate, "ALWAYS AUTHENTICATE");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/ykcs11/token.c
new/yubico-piv-tool-2.2.1/ykcs11/token.c
--- old/yubico-piv-tool-2.2.0/ykcs11/token.c 2020-12-17 09:06:58.000000000
+0100
+++ new/yubico-piv-tool-2.2.1/ykcs11/token.c 2021-09-03 00:10:22.000000000
+0200
@@ -59,14 +59,14 @@
CKM_SHA256_RSA_PKCS_PSS, {MIN_RSA_KEY_SIZE, MAX_RSA_KEY_SIZE, CKF_HW |
CKF_SIGN | CKF_VERIFY},
CKM_SHA384_RSA_PKCS_PSS, {MIN_RSA_KEY_SIZE, MAX_RSA_KEY_SIZE, CKF_HW |
CKF_SIGN | CKF_VERIFY},
CKM_SHA512_RSA_PKCS_PSS, {MIN_RSA_KEY_SIZE, MAX_RSA_KEY_SIZE, CKF_HW |
CKF_SIGN | CKF_VERIFY},
- CKM_EC_KEY_PAIR_GEN, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW |
CKF_GENERATE_KEY_PAIR},
- //CKM_ECDSA_KEY_PAIR_GEN, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW |
CKF_GENERATE_KEY_PAIR}, //Same as CKM_EC_KEY_PAIR_GEN, deprecated in 2.11
- CKM_ECDSA, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW | CKF_SIGN |
CKF_VERIFY},
- CKM_ECDSA_SHA1, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW | CKF_SIGN |
CKF_VERIFY},
- CKM_ECDSA_SHA224, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW | CKF_SIGN |
CKF_VERIFY},
- CKM_ECDSA_SHA256, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW | CKF_SIGN |
CKF_VERIFY},
- CKM_ECDSA_SHA384, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW | CKF_SIGN |
CKF_VERIFY},
- CKM_ECDH1_DERIVE, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW | CKF_DERIVE},
+ CKM_EC_KEY_PAIR_GEN, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW |
CKF_GENERATE_KEY_PAIR | CKF_EC_F_P | CKF_EC_NAMEDCURVE | CKF_EC_UNCOMPRESS},
+ //CKM_ECDSA_KEY_PAIR_GEN, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW |
CKF_GENERATE_KEY_PAIR | CKF_EC_F_P | CKF_EC_NAMEDCURVE | CKF_EC_UNCOMPRESS},
//Same as CKM_EC_KEY_PAIR_GEN, deprecated in 2.11
+ CKM_ECDSA, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW | CKF_SIGN |
CKF_VERIFY | CKF_EC_F_P | CKF_EC_NAMEDCURVE | CKF_EC_UNCOMPRESS},
+ CKM_ECDSA_SHA1, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW | CKF_SIGN |
CKF_VERIFY | CKF_EC_F_P | CKF_EC_NAMEDCURVE | CKF_EC_UNCOMPRESS},
+ CKM_ECDSA_SHA224, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW | CKF_SIGN |
CKF_VERIFY | CKF_EC_F_P | CKF_EC_NAMEDCURVE | CKF_EC_UNCOMPRESS},
+ CKM_ECDSA_SHA256, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW | CKF_SIGN |
CKF_VERIFY | CKF_EC_F_P | CKF_EC_NAMEDCURVE | CKF_EC_UNCOMPRESS},
+ CKM_ECDSA_SHA384, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW | CKF_SIGN |
CKF_VERIFY | CKF_EC_F_P | CKF_EC_NAMEDCURVE | CKF_EC_UNCOMPRESS},
+ CKM_ECDH1_DERIVE, {MIN_ECC_KEY_SIZE, MAX_ECC_KEY_SIZE, CKF_HW | CKF_DERIVE |
CKF_EC_F_P | CKF_EC_NAMEDCURVE | CKF_EC_UNCOMPRESS},
CKM_SHA_1, {0, 0, CKF_DIGEST},
CKM_SHA256, {0, 0, CKF_DIGEST},
CKM_SHA384, {0, 0, CKF_DIGEST},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/ykcs11/ykcs11-config.h
new/yubico-piv-tool-2.2.1/ykcs11/ykcs11-config.h
--- old/yubico-piv-tool-2.2.0/ykcs11/ykcs11-config.h 2020-12-17
09:07:52.000000000 +0100
+++ new/yubico-piv-tool-2.2.1/ykcs11/ykcs11-config.h 2021-09-03
00:10:51.000000000 +0200
@@ -43,7 +43,7 @@
* version number. Used together with ykneomgr_check_version() to
verify
* header file and run-time library consistency.
*/
-#define YKCS11_VERSION_STRING "2.2.0"
+#define YKCS11_VERSION_STRING "2.2.1"
/**
* YKCS11_VERSION_NUMBER
@@ -53,7 +53,7 @@
* this symbol will have the value 0x01020300. The last two digits
* are only used between public releases, and will otherwise be 00.
*/
-#define YKCS11_VERSION_NUMBER 2.2.0
+#define YKCS11_VERSION_NUMBER 2.2.1
/**
* YKCS11_VERSION_MAJOR
@@ -80,7 +80,7 @@
* level of the header file version number. For example, when the
* header version is 1.2.3 this symbol will be 3.
*/
-#define YKCS11_VERSION_PATCH 0
+#define YKCS11_VERSION_PATCH 1
/**
* _WIN32
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yubico-piv-tool-2.2.0/ykcs11/ykcs11.pc
new/yubico-piv-tool-2.2.1/ykcs11/ykcs11.pc
--- old/yubico-piv-tool-2.2.0/ykcs11/ykcs11.pc 2020-12-17 09:07:52.000000000
+0100
+++ new/yubico-piv-tool-2.2.1/ykcs11/ykcs11.pc 2021-09-03 00:10:51.000000000
+0200
@@ -33,5 +33,5 @@
Name: yubico-piv-tool
Description: Yubico PIV PKCS#11 Module
URL: https://www.yubico.com/
-Version: 2.2.0
+Version: 2.2.1
Libs: -L${libdir} -lykcs11