Check for NULL before dereferencing.

Reported by STACK

http://css.csail.mit.edu/stack/

Change-Id: Id7959c8217f46313ecf35a271efaf5f703fde2dc
Merge pull request #197 from CardContact/master

Changing EC Public Key format in PuKDF from raw to spki
macosx: silence the deprecation warnings about OpenSSL
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
macosx: fix typo in distribution descriptor
pkcs15init: keep certificate's blob in cert. info data

always do it, not only when creating a new 'direct' certificate
pkcs15init: reselect file to delete
pkcs15init: externalize and change name of select_intrinsic_id()
build: suppress warning 'unused-parameter'
pkcs15: in 'pkcs15_object' data: new attr. 'md_flags'

also change name of 'guid' attribute for 'md_guid'
These attributes are used to parse and generate the minidriver CMAP records
pkcs15: remove unused macros "SC_PKCS15_KEY_USAGE_*"
pkcs15: introduce 'cmap-record' data into the private key info

existing  'guid' obejct's data replaced by the one in private-key info
New CMAP record data used by pkcs15init emulator for the cards that have
the MD specific on-card data
md: use if available the GUID from the prkey info ...

the proprietary on-card data can contain the GUIDs created by proprietary MW,
these data are parsed by card driver and put into the internal pkcs15 private key data
to be accesible in the different OpenSC frameworks
pkcs15: include MD data into sc_pkcs15 data type

New data are used to support the card specific minidriver on-card files.
Beeing included into internal pkcs15 data type,
these new data are accessible at the all frameworks: emulation of pkcs15 and pkcs15init, minidriver.
md: use, if available, internal cardcf data
opensc-explorer: if available, print DF name
libopensc: create and export 'sc_match_atr_block'
pkcs15init: NULL pointer dereference error
pkcs11: PIN-NOT-INITIALIZED error concerns only User PIN

C_Login returns CKR_USER_PIN_NOT_INITIALIZED error when token info flags do not
contains CKF_USER_PIN_INITIALIZED and CKU_USER login type is asked.

This flag is not consulted when CKU_SO or CKU_CONTEXT_SPECIFIC login type is needed
pkcs11: fix translation of SC error to PKCS11

SC error SC_ERROR_WRONG_CARD and SC_ERROR_NO_CARD_SUPPORT are translated as CKR_TOKEN_NOT_RECOGNIZED