Merge PR#184
This commit is contained in:
+4
-1
@@ -26,7 +26,7 @@
|
|||||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
PACKAGE=yubico-piv-tool
|
PACKAGE=yubico-piv-tool
|
||||||
OPENSSLVERSION=1.0.2p
|
OPENSSLVERSION=1.0.2q
|
||||||
CHECKVERSION=0.12.0
|
CHECKVERSION=0.12.0
|
||||||
|
|
||||||
all: usage 32bit 64bit
|
all: usage 32bit 64bit
|
||||||
@@ -72,6 +72,9 @@ doit:
|
|||||||
rm -rf $(PWD)/tmp$(ARCH)/root/lib/pkgconfig/ && \
|
rm -rf $(PWD)/tmp$(ARCH)/root/lib/pkgconfig/ && \
|
||||||
cp COPYING $(PWD)/tmp$(ARCH)/root/licenses/$(PACKAGE).txt && \
|
cp COPYING $(PWD)/tmp$(ARCH)/root/licenses/$(PACKAGE).txt && \
|
||||||
cd .. && \
|
cd .. && \
|
||||||
|
cd check-$(CHECKVERSION) && \
|
||||||
|
make uninstall && \
|
||||||
|
cd .. && \
|
||||||
cd root && \
|
cd root && \
|
||||||
zip -r ../../$(PACKAGE)-$(VERSION)-win$(ARCH).zip *
|
zip -r ../../$(PACKAGE)-$(VERSION)-win$(ARCH).zip *
|
||||||
|
|
||||||
|
|||||||
+11
-2
@@ -306,7 +306,7 @@ static void make_base128(unsigned long l, int first, CK_BYTE_PTR buf, CK_ULONG_P
|
|||||||
buf[(*n)++] = 0x80 | (CK_BYTE)l;
|
buf[(*n)++] = 0x80 | (CK_BYTE)l;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void asn1_encode_oid(CK_CHAR_PTR oid, CK_BYTE_PTR asn1_oid, CK_ULONG_PTR len) {
|
static CK_RV asn1_encode_oid(CK_CHAR_PTR oid, CK_BYTE_PTR asn1_oid, CK_ULONG_PTR len) {
|
||||||
CK_CHAR_PTR tmp = (CK_BYTE_PTR) strdup((char *)oid);
|
CK_CHAR_PTR tmp = (CK_BYTE_PTR) strdup((char *)oid);
|
||||||
CK_CHAR_PTR p = tmp;
|
CK_CHAR_PTR p = tmp;
|
||||||
CK_BYTE_PTR q = NULL;
|
CK_BYTE_PTR q = NULL;
|
||||||
@@ -315,6 +315,10 @@ static void asn1_encode_oid(CK_CHAR_PTR oid, CK_BYTE_PTR asn1_oid, CK_ULONG_PTR
|
|||||||
CK_ULONG l = 0;
|
CK_ULONG l = 0;
|
||||||
CK_ULONG nodes;
|
CK_ULONG nodes;
|
||||||
|
|
||||||
|
if (tmp == NULL) {
|
||||||
|
return CKR_HOST_MEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
q = p;
|
q = p;
|
||||||
*len = 0;
|
*len = 0;
|
||||||
nodes = 1;
|
nodes = 1;
|
||||||
@@ -360,6 +364,8 @@ static void asn1_encode_oid(CK_CHAR_PTR oid, CK_BYTE_PTR asn1_oid, CK_ULONG_PTR
|
|||||||
}
|
}
|
||||||
|
|
||||||
free(tmp);
|
free(tmp);
|
||||||
|
|
||||||
|
return CKR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static CK_KEY_TYPE get_key_type(EVP_PKEY *key) {
|
static CK_KEY_TYPE get_key_type(EVP_PKEY *key) {
|
||||||
@@ -395,6 +401,7 @@ CK_RV get_doa(CK_OBJECT_HANDLE obj, CK_ATTRIBUTE_PTR template) {
|
|||||||
CK_BYTE_PTR data;
|
CK_BYTE_PTR data;
|
||||||
CK_BYTE tmp[64];
|
CK_BYTE tmp[64];
|
||||||
CK_ULONG len = 0;
|
CK_ULONG len = 0;
|
||||||
|
CK_RV rv;
|
||||||
DBG("For data object %lu, get ", obj);
|
DBG("For data object %lu, get ", obj);
|
||||||
|
|
||||||
switch (template->type) {
|
switch (template->type) {
|
||||||
@@ -439,7 +446,9 @@ CK_RV get_doa(CK_OBJECT_HANDLE obj, CK_ATTRIBUTE_PTR template) {
|
|||||||
case CKA_OBJECT_ID: // TODO: how about just storing the OID in DER ?
|
case CKA_OBJECT_ID: // TODO: how about just storing the OID in DER ?
|
||||||
DBG("OID");
|
DBG("OID");
|
||||||
memcpy((char *)tmp, data_objects[piv_objects[obj].sub_id].oid, sizeof(tmp));
|
memcpy((char *)tmp, data_objects[piv_objects[obj].sub_id].oid, sizeof(tmp));
|
||||||
asn1_encode_oid(tmp, tmp, &len);
|
if ((rv = asn1_encode_oid(tmp, tmp, &len)) != CKR_OK) {
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
data = tmp;
|
data = tmp;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user