From 57e0297de9cc2905f1f5c8df87376620fe337d19 Mon Sep 17 00:00:00 2001 From: Zhi Guan Date: Wed, 22 Feb 2017 18:21:26 +0800 Subject: [PATCH] update sky --- crypto/skf/build.info | 15 +--- crypto/skf/skf_dev.c | 190 ---------------------------------------- crypto/skf/skf_dummy.c | 34 +++++++ crypto/skf/skf_errstr.c | 118 ------------------------- crypto/skf/skf_lib.c | 155 ++++++++++++++++++++++++++++++-- crypto/skf/skf_meth.c | 159 +++++++++++++++++---------------- crypto/skf/skf_print.c | 90 ------------------- 7 files changed, 264 insertions(+), 497 deletions(-) delete mode 100644 crypto/skf/skf_dev.c delete mode 100644 crypto/skf/skf_errstr.c delete mode 100644 crypto/skf/skf_print.c diff --git a/crypto/skf/build.info b/crypto/skf/build.info index 1fe2a316..4be1588f 100644 --- a/crypto/skf/build.info +++ b/crypto/skf/build.info @@ -1,15 +1,2 @@ LIBS=../../libcrypto -SOURCE[../../libcrypto]=\ - skf_dev.c \ - skf_dgst.c \ - skf_ec.c \ - skf_enc.c \ - skf_err.c \ - skf_errstr.c \ - skf_handle.c \ - skf_mac.c \ - skf_rand.c \ - skf_rsa.c \ - skf_sesskey.c \ - skf_print.c \ - skf_token.c +SOURCE[../../libcrypto]=skf_err.c skf_lib.c skf_meth.c diff --git a/crypto/skf/skf_dev.c b/crypto/skf/skf_dev.c deleted file mode 100644 index 8d070509..00000000 --- a/crypto/skf/skf_dev.c +++ /dev/null @@ -1,190 +0,0 @@ -/* crypto/gmapi/skf_dev.c */ -/* ==================================================================== - * Copyright (c) 2015 - 2016 The GmSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - */ - -#include -#include -#include -#include -#include "skf_lcl.h" - -#define DEV_NAME "pseudo_dev" -#define DEV_NAME_LIST DEV_NAME"\0" - -SKF_HANDLE skf_dev_handle; - -ULONG DEVAPI SKF_EnumDev(BOOL bPresent, - LPSTR szNameList, - ULONG *pulSize) -{ - if (!szNameList) { - *pulSize = sizeof(DEV_NAME_LIST); - return SAR_OK; - } - - if (*pulSize < sizeof(DEV_NAME_LIST)) { - return SAR_FAIL; - } - - memcpy(szNameList, DEV_NAME_LIST, sizeof(DEV_NAME_LIST)); - return SAR_OK; -} - -ULONG DEVAPI SKF_ConnectDev(LPSTR szName, - DEVHANDLE *phDev) -{ - *phDev = &skf_dev_handle; - return SAR_OK; -} - -ULONG DEVAPI SKF_DisConnectDev(DEVHANDLE hDev) -{ - //FIXME: close all handles - hDev = NULL; - return SAR_OK; -} - -ULONG DEVAPI SKF_GetDevState(LPSTR szDevName, - ULONG *pulDevState) -{ - if (!pulDevState) { - SKFerr(SKF_F_SKF_GETDEVSTATE, SKF_R_NULL_ARGUMENT); - return SAR_INVALIDPARAMERR; - } - - *pulDevState = DEV_PRESENT_STATE; - return SAR_OK; -} - -ULONG DEVAPI SKF_GetDevInfo(DEVHANDLE hDev, - DEVINFO *pDevInfo) -{ - DEVINFO devInfo; - - if (!pDevInfo) { - SKFerr(SKF_F_SKF_GETDEVINFO, SKF_R_NULL_ARGUMENT); - return SAR_INVALIDPARAMERR; - } - - memset(&devInfo, 0, sizeof(devInfo)); - devInfo.Version.major = 1; - devInfo.Version.minor = 0; - strcpy((char *)&devInfo.Manufacturer, "GmSSL Project (http://gmssl.org)"); - strcpy((char *)&devInfo.Issuer, "GmSSL Project (http://gmssl.org)"); - strcpy((char *)&devInfo.Label, "SKF Softotken"); - strcpy((char *)&devInfo.SerialNumber, "1"); - devInfo.HWVersion.major = 1; - devInfo.HWVersion.minor = 0; - devInfo.FirmwareVersion.major = 1; - devInfo.FirmwareVersion.minor = 0; - devInfo.AlgSymCap = 0x0000041F; - devInfo.AlgAsymCap = 0x00030700; - devInfo.AlgHashCap = 0x00000007; - devInfo.DevAuthAlgId = SGD_SM4_CBC; - devInfo.TotalSpace = 0; - devInfo.FreeSpace = 0; - devInfo.MaxECCBufferSize = 0; /* FIXME: max inlen of ECC encrypt */ - devInfo.MaxBufferSize = 0; /* FIXME: max inlen of SM4 encrypt */ - - memcpy(pDevInfo, &devInfo, sizeof(DEVINFO)); - return SAR_OK; -} - -int SKF_print_dev_info(DEVINFO *devInfo) -{ - printf("Device Info:\n"); - printf(" Device Version : %d.%d\n", devInfo->Version.major, devInfo->Version.minor); - printf(" Manufacturer : %s\n", devInfo->Manufacturer); - printf(" Issuer : %s\n", devInfo->Issuer); - printf(" Label : %s\n", devInfo->Label); - printf(" Serial Number : %s\n", devInfo->SerialNumber); - printf(" Hardware Version : %d.%d\n", devInfo->HWVersion.major, devInfo->HWVersion.minor); - printf(" Firmware Version : %d.%d\n", devInfo->FirmwareVersion.major, devInfo->FirmwareVersion.minor); - printf(" AlgSymCap : 0x%08x\n", devInfo->AlgSymCap); - printf(" AlgAsymCap : 0x%08x\n", devInfo->AlgAsymCap); - printf(" AlgHashCap : 0x%08x\n", devInfo->AlgHashCap); - printf(" AlgHashCap : 0x%08x\n", devInfo->DevAuthAlgId); - printf(" Total Space : %u\n", devInfo->TotalSpace); - printf(" Free Space : %u\n", devInfo->FreeSpace); - printf(" MaxECCBuffer : %u\n", devInfo->MaxECCBufferSize); - printf(" MaxBuffer : %u\n", devInfo->MaxBufferSize); - - return 1; -} - -const char *SKF_get_alg_name(ULONG ulAlgID) -{ - //FIXME: make these name compatible with OBJ short name - switch (ulAlgID) { - case SGD_SM1_ECB: return "SM1-ECB"; - case SGD_SM1_CBC: return "SM1-CBC"; - case SGD_SM1_CFB: return "SM1-CFB"; - case SGD_SM1_OFB: return "SM1-OFB"; - case SGD_SM1_MAC: return "SM1-MAC"; - case SGD_SM4_ECB: return "SM4-ECB"; - case SGD_SM4_CBC: return "SM4-CBC"; - case SGD_SM4_CFB: return "SM4-CFB"; - case SGD_SM4_OFB: return "SM4-OFB"; - case SGD_SM4_MAC: return "SM4-MAC"; - case SGD_SSF33_ECB: return "SSF33-ECB"; - case SGD_SSF33_CBC: return "SSF33-CBC"; - case SGD_SSF33_CFB: return "SSF33-CFB"; - case SGD_SSF33_OFB: return "SSF33-OFB"; - case SGD_SSF33_MAC: return "SSF33-MAC"; - case SGD_RSA: return "RSA"; - case SGD_SM2_1: return "SM2-1"; - case SGD_SM2_2: return "SM2-2"; - case SGD_SM2_3: return "SM2-3"; - case SGD_SM3: return "SM3"; - case SGD_SHA1: return "SHA-1"; - case SGD_SHA256: return "SHA256"; - } - return "(unknown)"; -} diff --git a/crypto/skf/skf_dummy.c b/crypto/skf/skf_dummy.c index ee9402bc..8cb0a4e5 100644 --- a/crypto/skf/skf_dummy.c +++ b/crypto/skf/skf_dummy.c @@ -126,6 +126,40 @@ ULONG DEVAPI SKF_GetDevInfo( return SAR_OK; } +ULONG DEVAPI SKF_GetDevInfo(DEVHANDLE hDev, + DEVINFO *pDevInfo) +{ + DEVINFO devInfo; + + if (!pDevInfo) { + SKFerr(SKF_F_SKF_GETDEVINFO, SKF_R_NULL_ARGUMENT); + return SAR_INVALIDPARAMERR; + } + + memset(&devInfo, 0, sizeof(devInfo)); + devInfo.Version.major = 1; + devInfo.Version.minor = 0; + strcpy((char *)&devInfo.Manufacturer, "GmSSL Project (http://gmssl.org)"); + strcpy((char *)&devInfo.Issuer, "GmSSL Project (http://gmssl.org)"); + strcpy((char *)&devInfo.Label, "SKF Softotken"); + strcpy((char *)&devInfo.SerialNumber, "1"); + devInfo.HWVersion.major = 1; + devInfo.HWVersion.minor = 0; + devInfo.FirmwareVersion.major = 1; + devInfo.FirmwareVersion.minor = 0; + devInfo.AlgSymCap = 0x0000041F; + devInfo.AlgAsymCap = 0x00030700; + devInfo.AlgHashCap = 0x00000007; + devInfo.DevAuthAlgId = SGD_SM4_CBC; + devInfo.TotalSpace = 0; + devInfo.FreeSpace = 0; + devInfo.MaxECCBufferSize = 0; /* FIXME: max inlen of ECC encrypt */ + devInfo.MaxBufferSize = 0; /* FIXME: max inlen of SM4 encrypt */ + + memcpy(pDevInfo, &devInfo, sizeof(DEVINFO)); + return SAR_OK; +} + ULONG DEVAPI SKF_LockDev( DEVHANDLE hDev, ULONG ulTimeOut) diff --git a/crypto/skf/skf_errstr.c b/crypto/skf/skf_errstr.c deleted file mode 100644 index 4a192e19..00000000 --- a/crypto/skf/skf_errstr.c +++ /dev/null @@ -1,118 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2016 The GmSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - */ - -#include -#include -#include "../../e_os.h" - -static ERR_STRING_DATA skf_errstr[] = { - { SAR_OK, "Success" }, - { SAR_FAIL, "Failure" }, - { SAR_UNKNOWNERR, "Unknown error" }, - { SAR_NOTSUPPORTYETERR, "Not supported" }, - { SAR_FILEERR, "File error" }, - { SAR_INVALIDHANDLEERR, "Invalid handle" }, - { SAR_INVALIDPARAMERR, "Invalid parameter" }, - { SAR_READFILEERR, "Read file error" }, - { SAR_WRITEFILEERR, "Write file error" }, - { SAR_NAMELENERR, "Name length error" }, - { SAR_KEYUSAGEERR, "Key usage error" }, - { SAR_MODULUSLENERR, "Modulus length error" }, - { SAR_NOTINITIALIZEERR, "Not initialized" }, - { SAR_OBJERR, "Object error" }, - { SAR_MEMORYERR, "Memory error" }, - { SAR_TIMEOUTERR, "Time out" }, - { SAR_INDATALENERR, "Input data length error" }, - { SAR_INDATAERR, "Input data error" }, - { SAR_GENRANDERR, "Generate randomness error" }, - { SAR_HASHOBJERR, "Hash object error" }, - { SAR_HASHERR, "Hash error" }, - { SAR_GENRSAKEYERR, "Genenerate RSA key error" }, - { SAR_RSAMODULUSLENERR, "RSA modulus length error" }, - { SAR_CSPIMPRTPUBKEYERR, "CSP import public key error" }, - { SAR_RSAENCERR, "RSA encryption error" }, - { SAR_RSADECERR, "RSA decryption error" }, - { SAR_HASHNOTEQUALERR, "Hash not equal" }, - { SAR_KEYNOTFOUNTERR, "Key not found" }, - { SAR_CERTNOTFOUNTERR, "Certificate not found" }, - { SAR_NOTEXPORTERR, "Not exported" }, - { SAR_DECRYPTPADERR, "Decrypt pad error" }, - { SAR_MACLENERR, "MAC length error" }, - { SAR_BUFFER_TOO_SMALL, "Buffer too small" }, - { SAR_KEYINFOTYPEERR, "Key info type error" }, - { SAR_NOT_EVENTERR, "No event error" }, - { SAR_DEVICE_REMOVED, "Device removed" }, - { SAR_PIN_INCORRECT, "PIN incorrect" }, - { SAR_PIN_LOCKED, "PIN locked" }, - { SAR_PIN_INVALID, "PIN invalid" }, - { SAR_PIN_LEN_RANGE, "PIN length error" }, - { SAR_USER_ALREADY_LOGGED_IN, "User already logged in" }, - { SAR_USER_PIN_NOT_INITIALIZED, "User PIN not initialized" }, - { SAR_USER_TYPE_INVALID, "User type invalid" }, - { SAR_APPLICATION_NAME_INVALID, "Application name invalid" }, - { SAR_APPLICATION_EXISTS, "Application already exist" }, - { SAR_USER_NOT_LOGGED_IN, "User not logged in" }, - { SAR_APPLICATION_NOT_EXISTS, "Application not exist" }, - { SAR_FILE_ALREADY_EXIST, "File already exist" }, - { SAR_NO_ROOM, "No file space" }, - { SAR_FILE_NOT_EXIST, "File not exist" } -}; - -char *SKF_GetErrorString(ULONG ulError) -{ - int i; - for (i = 0; i < OSSL_NELEM(skf_errstr); i++) { - if (ulError == skf_errstr[i].error) { - return skf_errstr[i].string; - } - } - return "(undef)"; -} - diff --git a/crypto/skf/skf_lib.c b/crypto/skf/skf_lib.c index 6f1b6188..421484dd 100644 --- a/crypto/skf/skf_lib.c +++ b/crypto/skf/skf_lib.c @@ -50,18 +50,16 @@ #include #include #include +#include #include #include "internal/dso.h" -#include "skf_meth.h" +#include "internal/skf_meth.h" +#include "../../e_os.h" static SKF_METHOD *skf_method = NULL; ULONG SKF_LoadLibrary(const char *so_path) { - DSO *dso = NULL; - - dso = DSO_load(NULL, so_path); - SKF_METHOD_load_library(skf_method, dso); return SAR_OK; } @@ -71,6 +69,7 @@ ULONG SKF_UnloadLibrary(void) skf_method = NULL; } + ULONG DEVAPI SKF_WaitForDevEvent( LPSTR szDevName, ULONG *pulDevNameLen, @@ -1278,3 +1277,149 @@ ULONG DEVAPI SKF_CloseHandle( } return SAR_NOTSUPPORTYETERR; } + + +static ERR_STRING_DATA skf_errstr[] = { + { SAR_OK, "Success" }, + { SAR_FAIL, "Failure" }, + { SAR_UNKNOWNERR, "Unknown error" }, + { SAR_NOTSUPPORTYETERR, "Not supported" }, + { SAR_FILEERR, "File error" }, + { SAR_INVALIDHANDLEERR, "Invalid handle" }, + { SAR_INVALIDPARAMERR, "Invalid parameter" }, + { SAR_READFILEERR, "Read file error" }, + { SAR_WRITEFILEERR, "Write file error" }, + { SAR_NAMELENERR, "Name length error" }, + { SAR_KEYUSAGEERR, "Key usage error" }, + { SAR_MODULUSLENERR, "Modulus length error" }, + { SAR_NOTINITIALIZEERR, "Not initialized" }, + { SAR_OBJERR, "Object error" }, + { SAR_MEMORYERR, "Memory error" }, + { SAR_TIMEOUTERR, "Time out" }, + { SAR_INDATALENERR, "Input data length error" }, + { SAR_INDATAERR, "Input data error" }, + { SAR_GENRANDERR, "Generate randomness error" }, + { SAR_HASHOBJERR, "Hash object error" }, + { SAR_HASHERR, "Hash error" }, + { SAR_GENRSAKEYERR, "Genenerate RSA key error" }, + { SAR_RSAMODULUSLENERR, "RSA modulus length error" }, + { SAR_CSPIMPRTPUBKEYERR, "CSP import public key error" }, + { SAR_RSAENCERR, "RSA encryption error" }, + { SAR_RSADECERR, "RSA decryption error" }, + { SAR_HASHNOTEQUALERR, "Hash not equal" }, + { SAR_KEYNOTFOUNTERR, "Key not found" }, + { SAR_CERTNOTFOUNTERR, "Certificate not found" }, + { SAR_NOTEXPORTERR, "Not exported" }, + { SAR_DECRYPTPADERR, "Decrypt pad error" }, + { SAR_MACLENERR, "MAC length error" }, + { SAR_BUFFER_TOO_SMALL, "Buffer too small" }, + { SAR_KEYINFOTYPEERR, "Key info type error" }, + { SAR_NOT_EVENTERR, "No event error" }, + { SAR_DEVICE_REMOVED, "Device removed" }, + { SAR_PIN_INCORRECT, "PIN incorrect" }, + { SAR_PIN_LOCKED, "PIN locked" }, + { SAR_PIN_INVALID, "PIN invalid" }, + { SAR_PIN_LEN_RANGE, "PIN length error" }, + { SAR_USER_ALREADY_LOGGED_IN, "User already logged in" }, + { SAR_USER_PIN_NOT_INITIALIZED, "User PIN not initialized" }, + { SAR_USER_TYPE_INVALID, "User type invalid" }, + { SAR_APPLICATION_NAME_INVALID, "Application name invalid" }, + { SAR_APPLICATION_EXISTS, "Application already exist" }, + { SAR_USER_NOT_LOGGED_IN, "User not logged in" }, + { SAR_APPLICATION_NOT_EXISTS, "Application not exist" }, + { SAR_FILE_ALREADY_EXIST, "File already exist" }, + { SAR_NO_ROOM, "No file space" }, + { SAR_FILE_NOT_EXIST, "File not exist" } +}; + +const char *SKF_GetErrorString(ULONG ulError) +{ + int i; + for (i = 0; i < OSSL_NELEM(skf_errstr); i++) { + if (ulError == skf_errstr[i].error) { + return skf_errstr[i].string; + } + } + return "(undef)"; +} + +int SKF_PrintRSAPublicKey(FILE *fp, RSAPUBLICKEYBLOB *pk) +{ + return 0; +} + +int SKF_PrintRSAPrivateKey(FILE *fp, RSAPRIVATEKEYBLOB *pk) +{ + return 0; +} + +int SKF_PrintECCPublicKey(FILE *fp, ECCPUBLICKEYBLOB *pk) +{ + return 0; +} + +int SKF_PrintECCPrivateKey(FILE *fp, ECCPRIVATEKEYBLOB *pk) +{ + return 0; +} + +int SKF_PrintECCCipher(FILE *fp, ECCCIPHERBLOB *cipher) +{ + return 0; +} + +int SKF_PrintECCSignature(FILE *fp, ECCSIGNATUREBLOB *sig) +{ + return 0; +} + +int SKF_PrintDeviceInfo(FILE *fp, DEVINFO *devInfo) +{ + int ret = 0; + ret += fprintf(fp, "Device Info:\n"); + ret += fprintf(fp, " Device Version : %d.%d\n", devInfo->Version.major, devInfo->Version.minor); + ret += fprintf(fp, " Manufacturer : %s\n", devInfo->Manufacturer); + ret += fprintf(fp, " Issuer : %s\n", devInfo->Issuer); + ret += fprintf(fp, " Label : %s\n", devInfo->Label); + ret += fprintf(fp, " Serial Number : %s\n", devInfo->SerialNumber); + ret += fprintf(fp, " Hardware Version : %d.%d\n", devInfo->HWVersion.major, devInfo->HWVersion.minor); + ret += fprintf(fp, " Firmware Version : %d.%d\n", devInfo->FirmwareVersion.major, devInfo->FirmwareVersion.minor); + ret += fprintf(fp, " AlgSymCap : 0x%08x\n", devInfo->AlgSymCap); + ret += fprintf(fp, " AlgAsymCap : 0x%08x\n", devInfo->AlgAsymCap); + ret += fprintf(fp, " AlgHashCap : 0x%08x\n", devInfo->AlgHashCap); + ret += fprintf(fp, " AlgHashCap : 0x%08x\n", devInfo->DevAuthAlgId); + ret += fprintf(fp, " Total Space : %u\n", devInfo->TotalSpace); + ret += fprintf(fp, " Free Space : %u\n", devInfo->FreeSpace); + ret += fprintf(fp, " MaxECCBuffer : %u\n", devInfo->MaxECCBufferSize); + ret += fprintf(fp, " MaxBuffer : %u\n", devInfo->MaxBufferSize); + return ret; +} + +const char *SKF_GetAlgorName(ULONG ulAlgID) +{ + switch (ulAlgID) { + case SGD_SM1_ECB: return "sm1-ecb"; + case SGD_SM1_CBC: return "sm1-cbc"; + case SGD_SM1_CFB: return "sm1-ocb"; + case SGD_SM1_OFB: return "sm1-ofb"; + case SGD_SM1_MAC: return "sm1-mac"; + case SGD_SM4_ECB: return "sms4-ecb"; + case SGD_SM4_CBC: return "sms4-cbc"; + case SGD_SM4_CFB: return "sms4-cfb"; + case SGD_SM4_OFB: return "sms4-ofb"; + case SGD_SM4_MAC: return "sms4-mac"; + case SGD_SSF33_ECB: return "ssf33-ecb"; + case SGD_SSF33_CBC: return "ssf33-cbc"; + case SGD_SSF33_CFB: return "ssf33-cfb"; + case SGD_SSF33_OFB: return "ssf33-ofb"; + case SGD_SSF33_MAC: return "ssf33-mac"; + case SGD_RSA: return "rsa"; + case SGD_SM2_1: return "sm2sign"; + case SGD_SM2_2: return "sm2encrypt"; + case SGD_SM2_3: return "sm2keyagreement"; + case SGD_SM3: return "sm3"; + case SGD_SHA1: return "sha1"; + case SGD_SHA256: return "sha256"; + } + return NULL; +} diff --git a/crypto/skf/skf_meth.c b/crypto/skf/skf_meth.c index 2661db2c..f18be36d 100644 --- a/crypto/skf/skf_meth.c +++ b/crypto/skf/skf_meth.c @@ -49,8 +49,7 @@ #include #include "internal/dso.h" -#include "internal/sdf_meth.h" - +#include "internal/skf_meth.h" SKF_METHOD *SKF_METHOD_load_library(const char *so_path) { @@ -67,84 +66,84 @@ SKF_METHOD *SKF_METHOD_load_library(const char *so_path) goto end; } - skf->SKF_WaitForDevEvent = (SKF_WaitForDevEvent_FuncPtr)DSO_bind_func(dso, "SKF_WaitForDevEvent"); - skf->SKF_CancelWaitForDevEvent = (SKF_CancelWaitForDevEvent_FuncPtr)DSO_bind_func(dso, "SKF_CancelWaitForDevEvent"); - skf->SKF_EnumDev = (SKF_EnumDev_FuncPtr)DSO_bind_func(dso, "SKF_EnumDev"); - skf->SKF_ConnectDev = (SKF_ConnectDev_FuncPtr)DSO_bind_func(dso, "SKF_ConnectDev"); - skf->SKF_DisConnectDev = (SKF_DisConnectDev_FuncPtr)DSO_bind_func(dso, "SKF_DisConnectDev"); - skf->SKF_GetDevState = (SKF_GetDevState_FuncPtr)DSO_bind_func(dso, "SKF_GetDevState"); - skf->SKF_SetLabel = (SKF_SetLabel_FuncPtr)DSO_bind_func(dso, "SKF_SetLabel"); - skf->SKF_GetDevInfo = (SKF_GetDevInfo_FuncPtr)DSO_bind_func(dso, "SKF_GetDevInfo"); - skf->SKF_LockDev = (SKF_LockDev_FuncPtr)DSO_bind_func(dso, "SKF_LockDev"); - skf->SKF_UnlockDev = (SKF_UnlockDev_FuncPtr)DSO_bind_func(dso, "SKF_UnlockDev"); - skf->SKF_Transmit = (SKF_Transmit_FuncPtr)DSO_bind_func(dso, "SKF_Transmit"); - skf->SKF_ChangeDevAuthKey = (SKF_ChangeDevAuthKey_FuncPtr)DSO_bind_func(dso, "SKF_ChangeDevAuthKey"); - skf->SKF_DevAuth = (SKF_DevAuth_FuncPtr)DSO_bind_func(dso, "SKF_DevAuth"); - skf->SKF_ChangePIN = (SKF_ChangePIN_FuncPtr)DSO_bind_func(dso, "SKF_ChangePIN"); - skf->SKF_GetPINInfo = (SKF_GetPINInfo_FuncPtr)DSO_bind_func(dso, "SKF_GetPINInfo"); - skf->SKF_VerifyPIN = (SKF_VerifyPIN_FuncPtr)DSO_bind_func(dso, "SKF_VerifyPIN"); - skf->SKF_UnblockPIN = (SKF_UnblockPIN_FuncPtr)DSO_bind_func(dso, "SKF_UnblockPIN"); - skf->SKF_ClearSecureState = (SKF_ClearSecureState_FuncPtr)DSO_bind_func(dso, "SKF_ClearSecureState"); - skf->SKF_CreateApplication = (SKF_CreateApplication_FuncPtr)DSO_bind_func(dso, "SKF_CreateApplication"); - skf->SKF_EnumApplication = (SKF_EnumApplication_FuncPtr)DSO_bind_func(dso, "SKF_EnumApplication"); - skf->SKF_DeleteApplication = (SKF_DeleteApplication_FuncPtr)DSO_bind_func(dso, "SKF_DeleteApplication"); - skf->SKF_OpenApplication = (SKF_OpenApplication_FuncPtr)DSO_bind_func(dso, "SKF_OpenApplication"); - skf->SKF_CloseApplication = (SKF_CloseApplication_FuncPtr)DSO_bind_func(dso, "SKF_CloseApplication"); - skf->SKF_CreateFile = (SKF_CreateFile_FuncPtr)DSO_bind_func(dso, "SKF_CreateFile"); - skf->SKF_DeleteFile = (SKF_DeleteFile_FuncPtr)DSO_bind_func(dso, "SKF_DeleteFile"); - skf->SKF_EnumFiles = (SKF_EnumFiles_FuncPtr)DSO_bind_func(dso, "SKF_EnumFiles"); - skf->SKF_GetFileInfo = (SKF_GetFileInfo_FuncPtr)DSO_bind_func(dso, "SKF_GetFileInfo"); - skf->SKF_ReadFile = (SKF_ReadFile_FuncPtr)DSO_bind_func(dso, "SKF_ReadFile"); - skf->SKF_WriteFile = (SKF_WriteFile_FuncPtr)DSO_bind_func(dso, "SKF_WriteFile"); - skf->SKF_CreateContainer = (SKF_CreateContainer_FuncPtr)DSO_bind_func(dso, "SKF_CreateContainer"); - skf->SKF_DeleteContainer = (SKF_DeleteContainer_FuncPtr)DSO_bind_func(dso, "SKF_DeleteContainer"); - skf->SKF_EnumContainer = (SKF_EnumContainer_FuncPtr)DSO_bind_func(dso, "SKF_EnumContainer"); - skf->SKF_OpenContainer = (SKF_OpenContainer_FuncPtr)DSO_bind_func(dso, "SKF_OpenContainer"); - skf->SKF_CloseContainer = (SKF_CloseContainer_FuncPtr)DSO_bind_func(dso, "SKF_CloseContainer"); - skf->SKF_GetContainerType = (SKF_GetContainerType_FuncPtr)DSO_bind_func(dso, "SKF_GetContainerType"); - skf->SKF_ImportCertificate = (SKF_ImportCertificate_FuncPtr)DSO_bind_func(dso, "SKF_ImportCertificate"); - skf->SKF_ExportCertificate = (SKF_ExportCertificate_FuncPtr)DSO_bind_func(dso, "SKF_ExportCertificate"); - skf->SKF_ExportPublicKey = (SKF_ExportPublicKey_FuncPtr)DSO_bind_func(dso, "SKF_ExportPublicKey"); - skf->SKF_GenRandom = (SKF_GenRandom_FuncPtr)DSO_bind_func(dso, "SKF_GenRandom"); - skf->SKF_GenExtRSAKey = (SKF_GenExtRSAKey_FuncPtr)DSO_bind_func(dso, "SKF_GenExtRSAKey"); - skf->SKF_GenRSAKeyPair = (SKF_GenRSAKeyPair_FuncPtr)DSO_bind_func(dso, "SKF_GenRSAKeyPair"); - skf->SKF_ImportRSAKeyPair = (SKF_ImportRSAKeyPair_FuncPtr)DSO_bind_func(dso, "SKF_ImportRSAKeyPair"); - skf->SKF_RSASignData = (SKF_RSASignData_FuncPtr)DSO_bind_func(dso, "SKF_RSASignData"); - skf->SKF_RSAVerify = (SKF_RSAVerify_FuncPtr)DSO_bind_func(dso, "SKF_RSAVerify"); - skf->SKF_RSAExportSessionKey = (SKF_RSAExportSessionKey_FuncPtr)DSO_bind_func(dso, "SKF_RSAExportSessionKey"); - skf->SKF_ExtRSAPubKeyOperation = (SKF_ExtRSAPubKeyOperation_FuncPtr)DSO_bind_func(dso, "SKF_ExtRSAPubKeyOperation"); - skf->SKF_ExtRSAPriKeyOperation = (SKF_ExtRSAPriKeyOperation_FuncPtr)DSO_bind_func(dso, "SKF_ExtRSAPriKeyOperation"); - skf->SKF_GenECCKeyPair = (SKF_GenECCKeyPair_FuncPtr)DSO_bind_func(dso, "SKF_GenECCKeyPair"); - skf->SKF_ImportECCKeyPair = (SKF_ImportECCKeyPair_FuncPtr)DSO_bind_func(dso, "SKF_ImportECCKeyPair"); - skf->SKF_ECCSignData = (SKF_ECCSignData_FuncPtr)DSO_bind_func(dso, "SKF_ECCSignData"); - skf->SKF_ECCVerify = (SKF_ECCVerify_FuncPtr)DSO_bind_func(dso, "SKF_ECCVerify"); - skf->SKF_ECCExportSessionKey = (SKF_ECCExportSessionKey_FuncPtr)DSO_bind_func(dso, "SKF_ECCExportSessionKey"); - skf->SKF_ExtECCEncrypt = (SKF_ExtECCEncrypt_FuncPtr)DSO_bind_func(dso, "SKF_ExtECCEncrypt"); - skf->SKF_ExtECCDecrypt = (SKF_ExtECCDecrypt_FuncPtr)DSO_bind_func(dso, "SKF_ExtECCDecrypt"); - skf->SKF_ExtECCSign = (SKF_ExtECCSign_FuncPtr)DSO_bind_func(dso, "SKF_ExtECCSign"); - skf->SKF_ExtECCVerify = (SKF_ExtECCVerify_FuncPtr)DSO_bind_func(dso, "SKF_ExtECCVerify"); - skf->SKF_GenerateAgreementDataWithECC = (SKF_GenerateAgreementDataWithECC_FuncPtr)DSO_bind_func(dso, "SKF_GenerateAgreementDataWithECC"); - skf->SKF_GenerateAgreementDataAndKeyWithECC = (SKF_GenerateAgreementDataAndKeyWithECC_FuncPtr)DSO_bind_func(dso, "SKF_GenerateAgreementDataAndKeyWithECC"); - skf->SKF_GenerateKeyWithECC = (SKF_GenerateKeyWithECC_FuncPtr)DSO_bind_func(dso, "SKF_GenerateKeyWithECC"); - skf->SKF_ImportSessionKey = (SKF_ImportSessionKey_FuncPtr)DSO_bind_func(dso, "SKF_ImportSessionKey"); - skf->SKF_SetSymmKey = (SKF_SetSymmKey_FuncPtr)DSO_bind_func(dso, "SKF_SetSymmKey"); - skf->SKF_EncryptInit = (SKF_EncryptInit_FuncPtr)DSO_bind_func(dso, "SKF_EncryptInit"); - skf->SKF_Encrypt = (SKF_Encrypt_FuncPtr)DSO_bind_func(dso, "SKF_Encrypt"); - skf->SKF_EncryptUpdate = (SKF_EncryptUpdate_FuncPtr)DSO_bind_func(dso, "SKF_EncryptUpdate"); - skf->SKF_EncryptFinal = (SKF_EncryptFinal_FuncPtr)DSO_bind_func(dso, "SKF_EncryptFinal"); - skf->SKF_DecryptInit = (SKF_DecryptInit_FuncPtr)DSO_bind_func(dso, "SKF_DecryptInit"); - skf->SKF_Decrypt = (SKF_Decrypt_FuncPtr)DSO_bind_func(dso, "SKF_Decrypt"); - skf->SKF_DecryptUpdate = (SKF_DecryptUpdate_FuncPtr)DSO_bind_func(dso, "SKF_DecryptUpdate"); - skf->SKF_DecryptFinal = (SKF_DecryptFinal_FuncPtr)DSO_bind_func(dso, "SKF_DecryptFinal"); - skf->SKF_DigestInit = (SKF_DigestInit_FuncPtr)DSO_bind_func(dso, "SKF_DigestInit"); - skf->SKF_Digest = (SKF_Digest_FuncPtr)DSO_bind_func(dso, "SKF_Digest"); - skf->SKF_DigestUpdate = (SKF_DigestUpdate_FuncPtr)DSO_bind_func(dso, "SKF_DigestUpdate"); - skf->SKF_DigestFinal = (SKF_DigestFinal_FuncPtr)DSO_bind_func(dso, "SKF_DigestFinal"); - skf->SKF_MacInit = (SKF_MacInit_FuncPtr)DSO_bind_func(dso, "SKF_MacInit"); - skf->SKF_Mac = (SKF_Mac_FuncPtr)DSO_bind_func(dso, "SKF_Mac"); - skf->SKF_MacUpdate = (SKF_MacUpdate_FuncPtr)DSO_bind_func(dso, "SKF_MacUpdate"); - skf->SKF_MacFinal = (SKF_MacFinal_FuncPtr)DSO_bind_func(dso, "SKF_MacFinal"); - skf->SKF_CloseHandle = (SKF_CloseHandle_FuncPtr)DSO_bind_func(dso, "SKF_CloseHandle"); + skf->WaitForDevEvent = (SKF_WaitForDevEvent_FuncPtr)DSO_bind_func(dso, "SKF_WaitForDevEvent"); + skf->CancelWaitForDevEvent = (SKF_CancelWaitForDevEvent_FuncPtr)DSO_bind_func(dso, "SKF_CancelWaitForDevEvent"); + skf->EnumDev = (SKF_EnumDev_FuncPtr)DSO_bind_func(dso, "SKF_EnumDev"); + skf->ConnectDev = (SKF_ConnectDev_FuncPtr)DSO_bind_func(dso, "SKF_ConnectDev"); + skf->DisConnectDev = (SKF_DisConnectDev_FuncPtr)DSO_bind_func(dso, "SKF_DisConnectDev"); + skf->GetDevState = (SKF_GetDevState_FuncPtr)DSO_bind_func(dso, "SKF_GetDevState"); + skf->SetLabel = (SKF_SetLabel_FuncPtr)DSO_bind_func(dso, "SKF_SetLabel"); + skf->GetDevInfo = (SKF_GetDevInfo_FuncPtr)DSO_bind_func(dso, "SKF_GetDevInfo"); + skf->LockDev = (SKF_LockDev_FuncPtr)DSO_bind_func(dso, "SKF_LockDev"); + skf->UnlockDev = (SKF_UnlockDev_FuncPtr)DSO_bind_func(dso, "SKF_UnlockDev"); + skf->Transmit = (SKF_Transmit_FuncPtr)DSO_bind_func(dso, "SKF_Transmit"); + skf->ChangeDevAuthKey = (SKF_ChangeDevAuthKey_FuncPtr)DSO_bind_func(dso, "SKF_ChangeDevAuthKey"); + skf->DevAuth = (SKF_DevAuth_FuncPtr)DSO_bind_func(dso, "SKF_DevAuth"); + skf->ChangePIN = (SKF_ChangePIN_FuncPtr)DSO_bind_func(dso, "SKF_ChangePIN"); + skf->GetPINInfo = (SKF_GetPINInfo_FuncPtr)DSO_bind_func(dso, "SKF_GetPINInfo"); + skf->VerifyPIN = (SKF_VerifyPIN_FuncPtr)DSO_bind_func(dso, "SKF_VerifyPIN"); + skf->UnblockPIN = (SKF_UnblockPIN_FuncPtr)DSO_bind_func(dso, "SKF_UnblockPIN"); + skf->ClearSecureState = (SKF_ClearSecureState_FuncPtr)DSO_bind_func(dso, "SKF_ClearSecureState"); + skf->CreateApplication = (SKF_CreateApplication_FuncPtr)DSO_bind_func(dso, "SKF_CreateApplication"); + skf->EnumApplication = (SKF_EnumApplication_FuncPtr)DSO_bind_func(dso, "SKF_EnumApplication"); + skf->DeleteApplication = (SKF_DeleteApplication_FuncPtr)DSO_bind_func(dso, "SKF_DeleteApplication"); + skf->OpenApplication = (SKF_OpenApplication_FuncPtr)DSO_bind_func(dso, "SKF_OpenApplication"); + skf->CloseApplication = (SKF_CloseApplication_FuncPtr)DSO_bind_func(dso, "SKF_CloseApplication"); + skf->CreateFile = (SKF_CreateFile_FuncPtr)DSO_bind_func(dso, "SKF_CreateFile"); + skf->DeleteFile = (SKF_DeleteFile_FuncPtr)DSO_bind_func(dso, "SKF_DeleteFile"); + skf->EnumFiles = (SKF_EnumFiles_FuncPtr)DSO_bind_func(dso, "SKF_EnumFiles"); + skf->GetFileInfo = (SKF_GetFileInfo_FuncPtr)DSO_bind_func(dso, "SKF_GetFileInfo"); + skf->ReadFile = (SKF_ReadFile_FuncPtr)DSO_bind_func(dso, "SKF_ReadFile"); + skf->WriteFile = (SKF_WriteFile_FuncPtr)DSO_bind_func(dso, "SKF_WriteFile"); + skf->CreateContainer = (SKF_CreateContainer_FuncPtr)DSO_bind_func(dso, "SKF_CreateContainer"); + skf->DeleteContainer = (SKF_DeleteContainer_FuncPtr)DSO_bind_func(dso, "SKF_DeleteContainer"); + skf->EnumContainer = (SKF_EnumContainer_FuncPtr)DSO_bind_func(dso, "SKF_EnumContainer"); + skf->OpenContainer = (SKF_OpenContainer_FuncPtr)DSO_bind_func(dso, "SKF_OpenContainer"); + skf->CloseContainer = (SKF_CloseContainer_FuncPtr)DSO_bind_func(dso, "SKF_CloseContainer"); + skf->GetContainerType = (SKF_GetContainerType_FuncPtr)DSO_bind_func(dso, "SKF_GetContainerType"); + skf->ImportCertificate = (SKF_ImportCertificate_FuncPtr)DSO_bind_func(dso, "SKF_ImportCertificate"); + skf->ExportCertificate = (SKF_ExportCertificate_FuncPtr)DSO_bind_func(dso, "SKF_ExportCertificate"); + skf->ExportPublicKey = (SKF_ExportPublicKey_FuncPtr)DSO_bind_func(dso, "SKF_ExportPublicKey"); + skf->GenRandom = (SKF_GenRandom_FuncPtr)DSO_bind_func(dso, "SKF_GenRandom"); + skf->GenExtRSAKey = (SKF_GenExtRSAKey_FuncPtr)DSO_bind_func(dso, "SKF_GenExtRSAKey"); + skf->GenRSAKeyPair = (SKF_GenRSAKeyPair_FuncPtr)DSO_bind_func(dso, "SKF_GenRSAKeyPair"); + skf->ImportRSAKeyPair = (SKF_ImportRSAKeyPair_FuncPtr)DSO_bind_func(dso, "SKF_ImportRSAKeyPair"); + skf->RSASignData = (SKF_RSASignData_FuncPtr)DSO_bind_func(dso, "SKF_RSASignData"); + skf->RSAVerify = (SKF_RSAVerify_FuncPtr)DSO_bind_func(dso, "SKF_RSAVerify"); + skf->RSAExportSessionKey = (SKF_RSAExportSessionKey_FuncPtr)DSO_bind_func(dso, "SKF_RSAExportSessionKey"); + skf->ExtRSAPubKeyOperation = (SKF_ExtRSAPubKeyOperation_FuncPtr)DSO_bind_func(dso, "SKF_ExtRSAPubKeyOperation"); + skf->ExtRSAPriKeyOperation = (SKF_ExtRSAPriKeyOperation_FuncPtr)DSO_bind_func(dso, "SKF_ExtRSAPriKeyOperation"); + skf->GenECCKeyPair = (SKF_GenECCKeyPair_FuncPtr)DSO_bind_func(dso, "SKF_GenECCKeyPair"); + skf->ImportECCKeyPair = (SKF_ImportECCKeyPair_FuncPtr)DSO_bind_func(dso, "SKF_ImportECCKeyPair"); + skf->ECCSignData = (SKF_ECCSignData_FuncPtr)DSO_bind_func(dso, "SKF_ECCSignData"); + skf->ECCVerify = (SKF_ECCVerify_FuncPtr)DSO_bind_func(dso, "SKF_ECCVerify"); + skf->ECCExportSessionKey = (SKF_ECCExportSessionKey_FuncPtr)DSO_bind_func(dso, "SKF_ECCExportSessionKey"); + skf->ExtECCEncrypt = (SKF_ExtECCEncrypt_FuncPtr)DSO_bind_func(dso, "SKF_ExtECCEncrypt"); + skf->ExtECCDecrypt = (SKF_ExtECCDecrypt_FuncPtr)DSO_bind_func(dso, "SKF_ExtECCDecrypt"); + skf->ExtECCSign = (SKF_ExtECCSign_FuncPtr)DSO_bind_func(dso, "SKF_ExtECCSign"); + skf->ExtECCVerify = (SKF_ExtECCVerify_FuncPtr)DSO_bind_func(dso, "SKF_ExtECCVerify"); + skf->GenerateAgreementDataWithECC = (SKF_GenerateAgreementDataWithECC_FuncPtr)DSO_bind_func(dso, "SKF_GenerateAgreementDataWithECC"); + skf->GenerateAgreementDataAndKeyWithECC = (SKF_GenerateAgreementDataAndKeyWithECC_FuncPtr)DSO_bind_func(dso, "SKF_GenerateAgreementDataAndKeyWithECC"); + skf->GenerateKeyWithECC = (SKF_GenerateKeyWithECC_FuncPtr)DSO_bind_func(dso, "SKF_GenerateKeyWithECC"); + skf->ImportSessionKey = (SKF_ImportSessionKey_FuncPtr)DSO_bind_func(dso, "SKF_ImportSessionKey"); + skf->SetSymmKey = (SKF_SetSymmKey_FuncPtr)DSO_bind_func(dso, "SKF_SetSymmKey"); + skf->EncryptInit = (SKF_EncryptInit_FuncPtr)DSO_bind_func(dso, "SKF_EncryptInit"); + skf->Encrypt = (SKF_Encrypt_FuncPtr)DSO_bind_func(dso, "SKF_Encrypt"); + skf->EncryptUpdate = (SKF_EncryptUpdate_FuncPtr)DSO_bind_func(dso, "SKF_EncryptUpdate"); + skf->EncryptFinal = (SKF_EncryptFinal_FuncPtr)DSO_bind_func(dso, "SKF_EncryptFinal"); + skf->DecryptInit = (SKF_DecryptInit_FuncPtr)DSO_bind_func(dso, "SKF_DecryptInit"); + skf->Decrypt = (SKF_Decrypt_FuncPtr)DSO_bind_func(dso, "SKF_Decrypt"); + skf->DecryptUpdate = (SKF_DecryptUpdate_FuncPtr)DSO_bind_func(dso, "SKF_DecryptUpdate"); + skf->DecryptFinal = (SKF_DecryptFinal_FuncPtr)DSO_bind_func(dso, "SKF_DecryptFinal"); + skf->DigestInit = (SKF_DigestInit_FuncPtr)DSO_bind_func(dso, "SKF_DigestInit"); + skf->Digest = (SKF_Digest_FuncPtr)DSO_bind_func(dso, "SKF_Digest"); + skf->DigestUpdate = (SKF_DigestUpdate_FuncPtr)DSO_bind_func(dso, "SKF_DigestUpdate"); + skf->DigestFinal = (SKF_DigestFinal_FuncPtr)DSO_bind_func(dso, "SKF_DigestFinal"); + skf->MacInit = (SKF_MacInit_FuncPtr)DSO_bind_func(dso, "SKF_MacInit"); + skf->Mac = (SKF_Mac_FuncPtr)DSO_bind_func(dso, "SKF_Mac"); + skf->MacUpdate = (SKF_MacUpdate_FuncPtr)DSO_bind_func(dso, "SKF_MacUpdate"); + skf->MacFinal = (SKF_MacFinal_FuncPtr)DSO_bind_func(dso, "SKF_MacFinal"); + skf->CloseHandle = (SKF_CloseHandle_FuncPtr)DSO_bind_func(dso, "SKF_CloseHandle"); ret = skf; skf = NULL; diff --git a/crypto/skf/skf_print.c b/crypto/skf/skf_print.c deleted file mode 100644 index 28f68427..00000000 --- a/crypto/skf/skf_print.c +++ /dev/null @@ -1,90 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2015-2016 The GmSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the GmSSL Project. - * (http://gmssl.org/)" - * - * 4. The name "GmSSL Project" must not be used to endorse or promote - * products derived from this software without prior written - * permission. For written permission, please contact - * guanzhi1980@gmail.com. - * - * 5. Products derived from this software may not be called "GmSSL" - * nor may "GmSSL" appear in their names without prior written - * permission of the GmSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the GmSSL Project - * (http://gmssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE GmSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE GmSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - */ - -#include -#include -#include -#include -#include -#include "skf_lcl.h" - -int SKF_PrintDeviceInfo(FILE *fp, DEVINFO *devInfo) -{ - return 0; -} - -int SKF_PrintRSAPublicKey(FILE *fp, RSAPUBLICKEYBLOB *pk) -{ - return 0; -} - -int SKF_PrintRSAPrivateKey(FILE *fp, RSAPRIVATEKEYBLOB *pk) -{ - return 0; -} - -int SKF_PrintECCPublicKey(FILE *fp, ECCPUBLICKEYBLOB *pk) -{ - return 0; -} - -int SKF_PrintECCPrivateKey(FILE *fp, ECCPRIVATEKEYBLOB *pk) -{ - return 0; -} - -int SKF_PrintECCCipher(FILE *fp, ECCCIPHERBLOB *cipher) -{ - return 0; -} - -int SKF_PrintECCSignature(FILE *fp, ECCSIGNATUREBLOB *sig) -{ - return 0; -}