Commit Graph

167 Commits

Author SHA1 Message Date
Frank Morgner 013bdcb264 macOS: added support for access via CryptoTokenKit
Binaries still need to be signed with the com.apple.security.smartcard
entitlement. The command should look something like this:

codesign --force --entitlements MacOSX/pcsc.entitlements --sign "Mac Developer" target/Library/OpenSC/bin/*
codesign --force --entitlements MacOSX/pcsc.entitlements --sign "Mac Developer" target/Library/OpenSC/lib/*.dylib
codesign --force --entitlements MacOSX/pcsc.entitlements --sign "Mac Developer" --deep target/Library/OpenSC/lib/opensc-pkcs11.bundle
codesign --force --entitlements MacOSX/pcsc.entitlements --sign "Mac Developer" --deep target/Library/Security/tokend/OpenSC.tokend
2017-04-03 12:30:03 +02:00
Maciej S. Szmigiero da6815d542 Use built-in formatted output functions on mingw
Mingw currently links to msvcrt.dll as C runtime.
This library is documented by Microsoft as off-limits to applications and
its feature set vary between Windows versions.

Due to this, presence of particular printf() format string directives
depends on which Windows version the code is run.

This is, naturally, bad, so mingw developers introduced ability to replace
formatted output functions with built-in equivalents with defined feature
set by setting "__USE_MINGW_ANSI_STDIO" macro to 1.
There are, however, no built-in equivalents for "_s" suffixed functions.
Fortunately, they are used only a few times in minidriver so let's simply
replace them with equivalent code using standard functions.

This also allows skipping "MINGW_HAS_SECURE_API" macro definition so any
future uses will be caught by compiler.

Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
2017-03-27 11:05:16 +02:00
Maciej S. Szmigiero 20f781de28 Move SM test in configure.ac after LIB_PRE and DYN_LIB_EXT assignment
SM test in configure.ac makes use of LIB_PRE and DYN_LIB_EXT variables so
let's move it further down in this file, just after these variables are
assigned.

Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
2017-03-27 11:05:16 +02:00
Maciej S. Szmigiero 1b4c626d78 Make minidriver buildable again on mingw
Currently, minidriver build is broken on mingw. Let's make it work again.

For this, include adapted cardmod-mingw-compat.h with few function argument
decorations from Alon Bar-Lev's old build repository to make mingw build
almost self-contained - still requires cardmod.h from CNG, however.

Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
2017-03-27 10:57:21 +02:00
Maciej S. Szmigiero 64f56b83d0 Make minidriver installer custom action library optional
Minidriver installer custom action library needs WiX SDK to build.

Since installer is an optional component anyway let's detect whether WiX
SDK is present on build platform and then decide whether to build installer
custom action library or not.

Signed-off-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
2017-03-27 10:57:21 +02:00
Frank Morgner a4f64d9439 Added (external) card driver for German ID card
(Imported libcardnpa from https://github.com/frankmorgner/vsmartcard)

- Added generic SM implementation of ISO/IEC 7816-8
- Added implementation of extended access control as defined by
  - BSI TR-03110
  - ICAO Doc 9303
  - ISO/IEC 7501
- Added tool for German ID card (and other EAC tokens)
- renamed folder libsm to sm
2017-03-20 21:28:48 +01:00
Frank Morgner 0bbead5a07 correctly include pthread flags
fixes warning about unused linker flag in clang
2017-03-14 22:44:19 +01:00
Raul Metsma 890d97816e Use $(xcrun --sdk macosx --show-sdk-path) to parse SDK_PATH
Signed-off-by: Raul Metsma <raul@metsma.ee>
2017-03-03 09:11:08 +01:00
Frank Morgner e8b5dcfaa6 macOS: Simplyfy installer
- integrated readme into welcome screen
- removed explicit user consent to LGPL in accordance to
  https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#ClickThrough
2017-02-20 21:37:44 +01:00
Jakub Jelen 3cb24ebc79 Restore blocking WaitForSlotEvent functionality for recent PCSC-Lite versions
* Add configure-time dependency on pcsclite (required version from comments in reader-pcsc.c)
 * The functionality is already supported in PCSC-Lite
 * For older PCSC-Lite versions still return CKR_FUNCTION_NOT_SUPPORTED

 # closes #899
2016-11-20 19:36:03 +01:00
Nikos Mavrogiannopoulos 2059f79793 install opensc.pc
This allows applications to detect opensc version, as well as
link against opensc's pkcs11 library if needed.
2016-09-20 01:47:37 +02:00
Viktor Tarasov a2a17186c2 autoconf: option to disable -Werror=declaration-after-statement
old GCCs (distributed with RedHat 5) do not understand this option
2016-06-03 11:13:09 +02:00
Frank Morgner 630e7ee08e use so file extension for OS X bundles
partially reverts c3527f4a5b
2016-05-23 11:29:36 +02:00
Viktor Tarasov b233274151 branch to work on release 0.16.0
tag RC1
2016-03-16 15:10:59 +01:00
Frank Morgner d41eaaea24 use ticks for strings 2016-03-07 10:39:42 +01:00
Frank Morgner 2e92ba8b70 use a conditional lib prefix for dll/so 2016-03-07 10:39:42 +01:00
Frank Morgner c3527f4a5b fixed dylib extensions 2016-03-07 10:39:42 +01:00
Viktor Tarasov 36b945aa22 tools: print package revision 2016-03-04 14:16:06 +01:00
Viktor Tarasov 848ce1947a iasecc: fix default name of SM module 2016-01-25 13:38:13 +01:00
Frank Morgner 89f9d9e85d add compatibility implementation for strnlen
fixes https://github.com/OpenSC/OpenSC/issues/660
2016-01-20 10:47:27 +01:00
Michał Trojnara fa9da7ad01 configurable OS thread locking 2015-12-01 09:19:03 +01:00
Frank Morgner 094179ce5c '.so' is also the OS X suffix for pkcs11 2015-10-14 14:34:20 +02:00
Frank Morgner b9b3b2a86e check for OpenSSL headers in auto-detection
OpenSSL headers have been removed on El Capitane which renders it
unusable for us.
2015-10-14 14:34:19 +02:00
Frank Morgner ac65af0669 Fixes unreleased locks with pcsc-lite
This is a bug in PCSC-Lite propably won't be fixed, see
https://alioth.debian.org/tracker/index.php?func=detail&aid=315083&group_id=30105&atid=410088

Fixes https://github.com/OpenSC/OpenSC/issues/480
Closes https://github.com/OpenSC/OpenSC/pull/487
2015-10-03 12:55:15 +02:00
Frank Morgner e0a4e0bfec Merge pull request #532 from frankmorgner/sloppy
implemented sloppy initialization for C_GetSlotInfo
2015-10-02 15:13:07 +02:00
Frank Morgner 1480a4ef4a use one configuration file for all systems 2015-10-01 12:44:41 +02:00
Frank Morgner ffd85adae7 Decouples SM from OpenSSL 2015-09-24 14:46:30 +02:00
Frank Morgner 69783f4e6c Unifies project wide vendor/product strings 2015-09-15 15:04:32 +02:00
Frank Morgner d7d64ee8d4 Merge pull request #494 from frankmorgner/fork
After a fork do not release resources shared with parent
2015-08-04 10:32:01 +02:00
Frank Morgner 7cec500e54 added flags to sc_context_t
- is initialized in sc_context_create with parm->flags
- removes members paranoid_memory and enable_default_driver
2015-07-22 17:30:21 +02:00
Carl Hörberg e5ae77cae3 Restore compability on os x
Fallback to
/System/Library/Frameworks/PCSC.framework/Versions/Current/Headers when
there are no OS X SDKs installed. Fixes bugs introduced in #308
2015-06-17 18:34:52 +02:00
Viktor Tarasov 31cb40db17 revision: 0.15.0 2015-05-16 21:45:40 +02:00
vletoux 2f6d1b5c97 avoid the failure: "Failed to get file version of custom action dll" 2015-05-10 15:04:44 +02:00
vletoux 9e07a75968 detect the wix components installed on the build machine 2015-05-10 15:04:44 +02:00
Frank Morgner 291e9dab9e use OpenSC as default PKCS#11 provider
closes #229
2014-12-19 22:27:34 +01:00
Martin Paljak 1145bed320 macosx: locate the best newest SDK present on the computer.
With recent versions of XCode, PC/SC headers are hidden inside
the SDK folder inside XCode app, and the global path is not
guaranteed to be present. This allows to build easily from source
without depending on a specific XCode/OSX version.
2014-10-25 20:01:38 +03:00
Ludovic Rousseau fb7bbf1e80 build: disable Secure Messaging if OpenSSL is not used
If OpenSSL is not present or --disable-openssl then Secure Messaging is
disabled.

The problem was that some Secure Messaging code is missing if OpenSSL is
absent. The build/link failed with some missing symbols.

Fix issue #293
2014-10-01 22:11:38 +02:00
Ludovic Rousseau 99281793e0 Fix secure messaging library name on Mac OS X
Mac OS X uses "libsmm-local.3.dylib" as library name. The default value
"libsmm-local.so.3" is correct for Linux but not for Mac OS X.

This bug prevented the "opensc-tool -a" to work correctly and return the
ATR if an IAS card is present in the reader.
2014-09-16 20:53:48 +02:00
Viktor Tarasov db60f8da59 release 0.14.0 2014-06-26 19:15:33 +02:00
Viktor Tarasov 852a4719cf
release: OpenSC-0.14.0 RTM 2014-06-09 16:34:06 +02:00
Viktor Tarasov f87a364ddc release: candidate for the next stable version 2014-05-31 20:06:30 +02:00
Viktor Tarasov 3418e9c146 OpenSC 0.13.1 rc1 2014-05-16 09:18:17 +02:00
Viktor Tarasov 24fa9d8cc2 build: by default enable SM support 2014-05-11 17:44:34 +02:00
Viktor Tarasov d4195e297c build: bootstrap script has expected content
added CI specific 'bootstrap' script version: with parameters it creates the 'm4.version.ci' -- CI specific 'm4.version'
2014-05-11 09:15:27 +02:00
Viktor Tarasov 4bed397fbc build: return to standard use of 'autoconf'
Following http://sourceforge.net/p/opensc/mailman/message/32009859/

* 'configure.ac' is not mored created by bootstrap script, but present in source
* 'version.m4' is introduced and contains the 'volatile' package settings:
   settings that can be changed for the needs of particular build (ex. change PACKAGE_SUFFIX using the Git 'describe' or 'commit' data)
* 'bootstrap' script facilitate change of the package setting during the 'autoconf' phase
2014-05-07 09:53:08 +02:00
Viktor Tarasov b3baf9e75d build: delete 'configure.ac', bootstrap creates it from 'configure.ac.in'
'configure.ac' has to be with the context related information,
as 'fix number', 'release number', fields of MSDN version-info, ...

Using supplied (or not) options,
bootstrap will create the working 'configure.ac' as a modified version of 'configure.ac.in'.
2013-12-30 10:30:03 +01:00
Viktor Tarasov 53ed5dc502 win32: build: 'version-info' resource for each target 2013-12-29 22:00:29 +01:00
Viktor Tarasov b928e814e5 build: bootstrap can be used with options
'branch', 'revision' and 'suffix'
2013-12-29 22:00:29 +01:00
Viktor Tarasov db9e4c9039 build: suppress warning 'unused-parameter' 2013-12-29 17:38:44 +01:00
Martin Paljak d4a3edac08 macosx: update package building to modern tools
PackageMaker has been deprecated since Xcode 4.6.
pkgbuild and productbuild have been available since 10.6.6
2013-12-18 09:49:44 +00:00