changes by Douglas E. Engert:
change the do_decompress* to sc_decompress* and the initialize_* to sc_pkcs15emu_initialize_* in the new code. git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3126 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
parent
c6954a9c33
commit
eab8ade2ec
@ -153,6 +153,7 @@ app default {
|
||||
# oberthur Oberthur AuthentIC.v2/CosmopolIC.v4
|
||||
# belpic Belpic cards
|
||||
# emv EMV compatible cards
|
||||
# piv U.S. NIST 800-73-1 PIV
|
||||
|
||||
# Generic format: card_atr <hex encoded ATR (case-sensitive!)>
|
||||
|
||||
@ -228,7 +229,6 @@ app default {
|
||||
# card_atr 3B:7D:96:00:00:80:31:80:65:B0:83:11:00:AC:83:00:90:00 {
|
||||
# name = "PIV-II";
|
||||
# driver = "piv";
|
||||
# pkcs15emu = "PIV-II";
|
||||
# }
|
||||
|
||||
# Estonian ID card and Micardo driver currently play together with T=0
|
||||
@ -279,7 +279,7 @@ app default {
|
||||
# Default: yes
|
||||
# enable_builtin_emulation = yes;
|
||||
# list of the builtin pkcs15 emulators to test
|
||||
builtin_emulators = esteid, openpgp, tcos, starcert, infocamere, postecert, actalis, atrust-acos, gemsafe, tccardos;
|
||||
builtin_emulators = esteid, openpgp, tcos, starcert, infocamere, postecert, actalis, atrust-acos, gemsafe, tccardos, PIV-II;
|
||||
|
||||
# additional settings per driver
|
||||
#
|
||||
|
@ -678,7 +678,7 @@ static int piv_handle_certificate_data(sc_card_t *card,
|
||||
#ifdef HAVE_ZLIB_H
|
||||
size_t len = count;
|
||||
u8* newBuf = NULL;
|
||||
if(SC_SUCCESS != do_decompress_alloc(&newBuf, &len, tag, taglen, COMPRESSION_AUTO)) {
|
||||
if(SC_SUCCESS != sc_decompress_alloc(&newBuf, &len, tag, taglen, COMPRESSION_AUTO)) {
|
||||
return SC_ERROR_OBJECT_NOT_VALID;
|
||||
} else {
|
||||
if(len < count + idx)
|
||||
|
@ -58,7 +58,7 @@ static int detect_method(const u8* in, size_t inLen) {
|
||||
}
|
||||
}
|
||||
|
||||
static int do_decompress_gzip(u8* out, size_t* outLen, const u8* in, size_t inLen) {
|
||||
static int sc_decompress_gzip(u8* out, size_t* outLen, const u8* in, size_t inLen) {
|
||||
/* Since uncompress does not offer a way to make it uncompress gzip... manually set it up */
|
||||
z_stream gz;
|
||||
int err;
|
||||
@ -83,7 +83,7 @@ static int do_decompress_gzip(u8* out, size_t* outLen, const u8* in, size_t inLe
|
||||
return zerr_to_opensc(err);
|
||||
}
|
||||
|
||||
int do_decompress(u8* out, size_t* outLen, const u8* in, size_t inLen, int method) {
|
||||
int sc_decompress(u8* out, size_t* outLen, const u8* in, size_t inLen, int method) {
|
||||
if(method == COMPRESSION_AUTO) {
|
||||
method = detect_method(in, inLen);
|
||||
if(method == COMPRESSION_UNKNOWN) {
|
||||
@ -94,13 +94,13 @@ int do_decompress(u8* out, size_t* outLen, const u8* in, size_t inLen, int metho
|
||||
case COMPRESSION_ZLIB:
|
||||
return zerr_to_opensc(uncompress(out, outLen, in, inLen));
|
||||
case COMPRESSION_GZIP:
|
||||
return do_decompress_gzip(out, outLen, in, inLen);
|
||||
return sc_decompress_gzip(out, outLen, in, inLen);
|
||||
default:
|
||||
return SC_ERROR_INVALID_ARGUMENTS;
|
||||
}
|
||||
}
|
||||
|
||||
static int do_decompress_zlib_alloc(u8** out, size_t* outLen, const u8* in, size_t inLen, int gzip) {
|
||||
static int sc_decompress_zlib_alloc(u8** out, size_t* outLen, const u8* in, size_t inLen, int gzip) {
|
||||
/* Since uncompress does not offer a way to make it uncompress gzip... manually set it up */
|
||||
z_stream gz;
|
||||
int err;
|
||||
@ -157,7 +157,7 @@ static int do_decompress_zlib_alloc(u8** out, size_t* outLen, const u8* in, size
|
||||
inflateEnd(&gz);
|
||||
return zerr_to_opensc(err);
|
||||
}
|
||||
int do_decompress_alloc(u8** out, size_t* outLen, const u8* in, size_t inLen, int method) {
|
||||
int sc_decompress_alloc(u8** out, size_t* outLen, const u8* in, size_t inLen, int method) {
|
||||
if(method == COMPRESSION_AUTO) {
|
||||
method = detect_method(in, inLen);
|
||||
if(method == COMPRESSION_UNKNOWN) {
|
||||
@ -166,9 +166,9 @@ int do_decompress_alloc(u8** out, size_t* outLen, const u8* in, size_t inLen, in
|
||||
}
|
||||
switch(method) {
|
||||
case COMPRESSION_ZLIB:
|
||||
return do_decompress_zlib_alloc(out, outLen, in, inLen, 0);
|
||||
return sc_decompress_zlib_alloc(out, outLen, in, inLen, 0);
|
||||
case COMPRESSION_GZIP:
|
||||
return do_decompress_zlib_alloc(out, outLen, in, inLen, 1);
|
||||
return sc_decompress_zlib_alloc(out, outLen, in, inLen, 1);
|
||||
default:
|
||||
return SC_ERROR_INVALID_ARGUMENTS;
|
||||
}
|
||||
|
@ -28,8 +28,8 @@
|
||||
#define COMPRESSION_GZIP 2
|
||||
#define COMPRESSION_UNKNOWN (-1)
|
||||
|
||||
int do_decompress_alloc(u8** out, size_t* outLen, const u8* in, size_t inLen, int method);
|
||||
int do_decompress(u8* out, size_t* outLen, const u8* in, size_t inLen, int method);
|
||||
int sc_decompress_alloc(u8** out, size_t* outLen, const u8* in, size_t inLen, int method);
|
||||
int sc_decompress(u8* out, size_t* outLen, const u8* in, size_t inLen, int method);
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
#include <openssl/rsa.h>
|
||||
#include <openssl/x509.h>
|
||||
|
||||
int initialize_objects(sc_pkcs15_card_t *p15card, p15data_items *items) {
|
||||
int sc_pkcs15emu_initialize_objects(sc_pkcs15_card_t *p15card, p15data_items *items) {
|
||||
sc_card_t* card = p15card->card;
|
||||
const objdata* objects = items->objects;
|
||||
int i, r;
|
||||
@ -202,7 +202,7 @@ err:
|
||||
SC_FUNC_RETURN(p15card->card->ctx, 1, r);
|
||||
}
|
||||
|
||||
int initialize_certificates(sc_pkcs15_card_t *p15card, p15data_items* items) {
|
||||
int sc_pkcs15emu_initialize_certificates(sc_pkcs15_card_t *p15card, p15data_items* items) {
|
||||
/* set certs */
|
||||
sc_card_t* card = p15card->card;
|
||||
const cdata* certs = items->certs;
|
||||
@ -266,7 +266,7 @@ int initialize_certificates(sc_pkcs15_card_t *p15card, p15data_items* items) {
|
||||
return SC_SUCCESS;
|
||||
}
|
||||
|
||||
int initialize_pins(sc_pkcs15_card_t *p15card, p15data_items* items) {
|
||||
int sc_pkcs15emu_initialize_pins(sc_pkcs15_card_t *p15card, p15data_items* items) {
|
||||
/* set pins */
|
||||
int i,r;
|
||||
const pindata* pins = items->pins;
|
||||
@ -298,7 +298,7 @@ int initialize_pins(sc_pkcs15_card_t *p15card, p15data_items* items) {
|
||||
return SC_SUCCESS;
|
||||
}
|
||||
|
||||
int initialize_private_keys(sc_pkcs15_card_t *p15card, p15data_items* items) {
|
||||
int sc_pkcs15emu_initialize_private_keys(sc_pkcs15_card_t *p15card, p15data_items* items) {
|
||||
const prdata *prkeys = items->private_keys;
|
||||
int i, r;
|
||||
if(!prkeys) return SC_SUCCESS;
|
||||
@ -311,7 +311,7 @@ int initialize_private_keys(sc_pkcs15_card_t *p15card, p15data_items* items) {
|
||||
return SC_SUCCESS;
|
||||
}
|
||||
|
||||
int initialize_public_keys(sc_pkcs15_card_t *p15card, p15data_items *items) {
|
||||
int sc_pkcs15emu_initialize_public_keys(sc_pkcs15_card_t *p15card, p15data_items *items) {
|
||||
const pubdata *keys = items->public_keys;
|
||||
int i, r;
|
||||
if(!keys) return SC_SUCCESS;
|
||||
@ -325,18 +325,18 @@ int initialize_public_keys(sc_pkcs15_card_t *p15card, p15data_items *items) {
|
||||
|
||||
}
|
||||
|
||||
int initialize_all(sc_pkcs15_card_t *p15card, p15data_items* items) {
|
||||
int sc_pkcs15emu_initialize_all(sc_pkcs15_card_t *p15card, p15data_items* items) {
|
||||
int r;
|
||||
if(SC_SUCCESS != (r = initialize_objects(p15card, items)))
|
||||
if(SC_SUCCESS != (r = sc_pkcs15emu_initialize_objects(p15card, items)))
|
||||
return r;
|
||||
if(SC_SUCCESS != (r = initialize_certificates(p15card, items)))
|
||||
if(SC_SUCCESS != (r = sc_pkcs15emu_initialize_certificates(p15card, items)))
|
||||
return r;
|
||||
if(SC_SUCCESS != (r = initialize_pins(p15card, items)))
|
||||
if(SC_SUCCESS != (r = sc_pkcs15emu_initialize_pins(p15card, items)))
|
||||
return r;
|
||||
|
||||
if(items->forced_private && (SC_SUCCESS != (r = initialize_private_keys(p15card, items))))
|
||||
if(items->forced_private && (SC_SUCCESS != (r = sc_pkcs15emu_initialize_private_keys(p15card, items))))
|
||||
return r;
|
||||
if(items->forced_public && (SC_SUCCESS != (r = initialize_public_keys(p15card, items))))
|
||||
if(items->forced_public && (SC_SUCCESS != (r = sc_pkcs15emu_initialize_public_keys(p15card, items))))
|
||||
return r;
|
||||
return SC_SUCCESS;
|
||||
}
|
||||
|
@ -126,12 +126,12 @@ struct p15data_items {
|
||||
|
||||
CERT_HANDLE_FUNCTION(default_cert_handle);
|
||||
|
||||
int initialize_objects(sc_pkcs15_card_t *p15card, p15data_items* items);
|
||||
int initialize_certificates(sc_pkcs15_card_t *p15card, p15data_items* items);
|
||||
int initialize_pins(sc_pkcs15_card_t *p15card, p15data_items *items);
|
||||
int initialize_private_keys(sc_pkcs15_card_t *p15card, p15data_items *items);
|
||||
int initialize_public_keys(sc_pkcs15_card_t *p15card, p15data_items *items);
|
||||
int initialize_all(sc_pkcs15_card_t *p15card, p15data_items *items);
|
||||
int sc_pkcs15emu_initialize_objects(sc_pkcs15_card_t *p15card, p15data_items* items);
|
||||
int sc_pkcs15emu_initialize_certificates(sc_pkcs15_card_t *p15card, p15data_items* items);
|
||||
int sc_pkcs15emu_initialize_pins(sc_pkcs15_card_t *p15card, p15data_items *items);
|
||||
int sc_pkcs15emu_initialize_private_keys(sc_pkcs15_card_t *p15card, p15data_items *items);
|
||||
int sc_pkcs15emu_initialize_public_keys(sc_pkcs15_card_t *p15card, p15data_items *items);
|
||||
int sc_pkcs15emu_initialize_all(sc_pkcs15_card_t *p15card, p15data_items *items);
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -204,7 +204,7 @@ static int sc_pkcs15emu_piv_init(sc_pkcs15_card_t *p15card)
|
||||
|
||||
sc_debug(card->ctx, "PIV-II adding objects...");
|
||||
|
||||
r = initialize_all(p15card, &items);
|
||||
r = sc_pkcs15emu_initialize_all(p15card, &items);
|
||||
|
||||
SC_FUNC_RETURN(card->ctx, 1, SC_SUCCESS);
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ OBJECTS = pkcs11-global.obj pkcs11-session.obj pkcs11-object.obj misc.obj slot
|
||||
OBJECTS2 = libpkcs11.obj
|
||||
OBJECTS3 = pkcs11-spy.obj pkcs11-display.obj libpkcs11.obj
|
||||
|
||||
all: install-headers install-headers-dir $(TARGET) $(TARGET2) $(TARGET3)
|
||||
all: install-headers $(TARGET) $(TARGET2) $(TARGET3)
|
||||
|
||||
!INCLUDE $(TOPDIR)\win32\Make.rules.mak
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user