Update SKF

This commit is contained in:
Zhi Guan
2019-01-23 09:13:30 +08:00
parent 343fa622ae
commit 5359dd5534
15 changed files with 7216 additions and 6455 deletions

View File

@@ -75,6 +75,10 @@
#define SKF_MAX_FILE_SIZE (256*1024)
#define SKF_MAX_CERTIFICATE_SIZE (8*1024)
#define SKF_DEFAULT_ADMIN_PIN_RETRY_COUNT 6
#define SKF_DEFAULT_USER_PIN_RETRY_COUNT 6
#ifdef __cplusplus
extern "C" {
#endif
@@ -94,8 +98,12 @@ typedef struct {
int length;
} SKF_FILE_OP_PARAMS;
ULONG DEVAPI SKF_LoadLibrary(LPSTR so_path, LPSTR vendor);
ULONG DEVAPI SKF_UnloadLibrary(void);
ULONG DEVAPI SKF_OpenDevice(LPSTR devName, BYTE authKey[16], DEVINFO *devInfo, DEVHANDLE *phDev);
ULONG DEVAPI SKF_CloseDevice(DEVHANDLE hDev);
ULONG DEVAPI SKF_LoginApplication(DEVHANDLE hDev, LPSTR appName, ULONG userType, LPSTR szPin, HAPPLICATION *phApp);
ULONG DEVAPI SKF_GetDevStateName(ULONG ulDevState, LPSTR *szName);
ULONG DEVAPI SKF_GetContainerTypeName(ULONG ulContainerType, LPSTR *szName);
ULONG DEVAPI SKF_GetAlgorName(ULONG ulAlgID, LPSTR *szName);
@@ -109,6 +117,16 @@ ULONG DEVAPI SKF_PrintECCSignature(BIO *out, ECCSIGNATUREBLOB *blob);
ULONG DEVAPI SKF_GetErrorString(ULONG ulError, LPSTR *szErrorStr);
ULONG DEVAPI SKF_NewECCCipher(ULONG ulCipherLen, ECCCIPHERBLOB **cipherBlob);
ULONG DEVAPI SKF_NewEnvelopedKey(ULONG ulCipherLen, ENVELOPEDKEYBLOB **envelopedKeyBlob);
ULONG DEVAPI SKF_ImportECCPrivateKey(DEVHANDLE hDev, HCONTAINER hContainer, EC_KEY *ec_key, ULONG symmAlgId);
ULONG DEVAPI SKF_ImportRSAPrivateKey(DEVHANDLE hDev, HCONTAINER hContainer, RSA *rsa, ULONG symmAlgId);
ULONG DEVAPI SKF_ImportPrivateKey(DEVHANDLE hDev, HCONTAINER hContainer, EVP_PKEY *pkey, ULONG symmAlgId);
ULONG DEVAPI SKF_ExportECCPublicKey(HCONTAINER hContainer, BOOL bSign, EC_KEY **pp);
ULONG DEVAPI SKF_ExportRSAPublicKey(HCONTAINER hContainer, BOOL bSign, RSA **pp);
ULONG DEVAPI SKF_ExportEVPPublicKey(HCONTAINER hContainer, BOOL bSign, EVP_PKEY **pp);
ULONG DEVAPI SKF_ImportX509CertificateByKeyUsage(HCONTAINER hContainer, X509 *x509);
ULONG DEVAPI SKF_ImportX509Certificate(HCONTAINER hContainer, BOOL bSign, X509 *x509);
ULONG DEVAPI SKF_ExportX509Certificate(HCONTAINER hContainer, BOOL bSign, X509 **px509);
/* BEGIN ERROR CODES */
/*
@@ -121,168 +139,182 @@ int ERR_load_SKF_strings(void);
/* Error codes for the SKF functions. */
/* Function codes. */
# define SKF_F_SKF_CANCELWAITFORDEVEVENT 108
# define SKF_F_SKF_CHANGEDEVAUTHKEY 109
# define SKF_F_SKF_CHANGEPIN 110
# define SKF_F_SKF_CLEARSECURESTATE 111
# define SKF_F_SKF_CLOSEAPPLICATION 112
# define SKF_F_SKF_CLOSECONTAINER 113
# define SKF_F_SKF_CLOSEHANDLE 114
# define SKF_F_SKF_CONNECTDEV 115
# define SKF_F_SKF_CREATEAPPLICATION 116
# define SKF_F_SKF_CREATECONTAINER 117
# define SKF_F_SKF_CREATEFILE 118
# define SKF_F_SKF_DECRYPT 119
# define SKF_F_SKF_DECRYPTFINAL 120
# define SKF_F_SKF_DECRYPTINIT 121
# define SKF_F_SKF_DECRYPTUPDATE 122
# define SKF_F_SKF_DELETEAPPLICATION 123
# define SKF_F_SKF_DELETECONTAINER 124
# define SKF_F_SKF_DELETEFILE 125
# define SKF_F_SKF_DEVAUTH 126
# define SKF_F_SKF_DIGEST 127
# define SKF_F_SKF_DIGESTFINAL 128
# define SKF_F_SKF_DIGESTINIT 129
# define SKF_F_SKF_DIGESTUPDATE 130
# define SKF_F_SKF_DISCONNECTDEV 131
# define SKF_F_SKF_ECCDECRYPT 184
# define SKF_F_SKF_ECCEXPORTSESSIONKEY 132
# define SKF_F_SKF_ECCSIGNDATA 133
# define SKF_F_SKF_ECCVERIFY 134
# define SKF_F_SKF_ENCRYPT 135
# define SKF_F_SKF_ENCRYPTFINAL 136
# define SKF_F_SKF_ENCRYPTINIT 137
# define SKF_F_SKF_ENCRYPTUPDATE 138
# define SKF_F_SKF_ENUMAPPLICATION 139
# define SKF_F_SKF_ENUMCONTAINER 140
# define SKF_F_SKF_ENUMDEV 141
# define SKF_F_SKF_ENUMFILES 142
# define SKF_F_SKF_EXPORTCERTIFICATE 143
# define SKF_F_SKF_EXPORTPUBLICKEY 144
# define SKF_F_SKF_EXTECCDECRYPT 145
# define SKF_F_SKF_EXTECCENCRYPT 146
# define SKF_F_SKF_EXTECCSIGN 147
# define SKF_F_SKF_EXTECCVERIFY 148
# define SKF_F_SKF_EXTRSAPRIKEYOPERATION 149
# define SKF_F_SKF_EXTRSAPUBKEYOPERATION 150
# define SKF_F_SKF_GENECCKEYPAIR 151
# define SKF_F_SKF_GENERATEAGREEMENTDATAANDKEYWITHECC 152
# define SKF_F_SKF_GENERATEAGREEMENTDATAWITHECC 153
# define SKF_F_SKF_GENERATEKEYWITHECC 154
# define SKF_F_SKF_GENEXTRSAKEY 155
# define SKF_F_SKF_GENRANDOM 156
# define SKF_F_SKF_GENRSAKEYPAIR 157
# define SKF_F_SKF_GETCONTAINERTYPE 158
# define SKF_F_SKF_GETDEVINFO 100
# define SKF_F_SKF_GETDEVSTATE 159
# define SKF_F_SKF_GETFILEINFO 160
# define SKF_F_SKF_GETPININFO 161
# define SKF_F_SKF_IMPORTCERTIFICATE 162
# define SKF_F_SKF_IMPORTECCKEYPAIR 163
# define SKF_F_SKF_IMPORTECCPRIVATEKEY 103
# define SKF_F_SKF_IMPORTRSAKEYPAIR 164
# define SKF_F_SKF_IMPORTSESSIONKEY 165
# define SKF_F_SKF_LOADLIBRARY 101
# define SKF_F_SKF_LOCKDEV 166
# define SKF_F_SKF_MAC 107
# define SKF_F_SKF_CANCELWAITFORDEVEVENT 100
# define SKF_F_SKF_CHANGEDEVAUTHKEY 101
# define SKF_F_SKF_CHANGEPIN 102
# define SKF_F_SKF_CLEARSECURESTATE 103
# define SKF_F_SKF_CLOSEAPPLICATION 104
# define SKF_F_SKF_CLOSECONTAINER 105
# define SKF_F_SKF_CLOSEDEVICE 187
# define SKF_F_SKF_CLOSEHANDLE 106
# define SKF_F_SKF_CONNECTDEV 107
# define SKF_F_SKF_CREATEAPPLICATION 108
# define SKF_F_SKF_CREATECONTAINER 109
# define SKF_F_SKF_CREATEFILE 110
# define SKF_F_SKF_DECRYPT 111
# define SKF_F_SKF_DECRYPTFINAL 112
# define SKF_F_SKF_DECRYPTINIT 113
# define SKF_F_SKF_DECRYPTUPDATE 114
# define SKF_F_SKF_DELETEAPPLICATION 115
# define SKF_F_SKF_DELETECONTAINER 116
# define SKF_F_SKF_DELETEFILE 117
# define SKF_F_SKF_DEVAUTH 118
# define SKF_F_SKF_DIGEST 119
# define SKF_F_SKF_DIGESTFINAL 120
# define SKF_F_SKF_DIGESTINIT 121
# define SKF_F_SKF_DIGESTUPDATE 122
# define SKF_F_SKF_DISCONNECTDEV 123
# define SKF_F_SKF_ECCDECRYPT 124
# define SKF_F_SKF_ECCEXPORTSESSIONKEY 125
# define SKF_F_SKF_ECCSIGNDATA 126
# define SKF_F_SKF_ECCVERIFY 127
# define SKF_F_SKF_ENCRYPT 128
# define SKF_F_SKF_ENCRYPTFINAL 129
# define SKF_F_SKF_ENCRYPTINIT 130
# define SKF_F_SKF_ENCRYPTUPDATE 131
# define SKF_F_SKF_ENUMAPPLICATION 132
# define SKF_F_SKF_ENUMCONTAINER 133
# define SKF_F_SKF_ENUMDEV 134
# define SKF_F_SKF_ENUMFILES 135
# define SKF_F_SKF_EXPORTCERTIFICATE 136
# define SKF_F_SKF_EXPORTECCENCPUBLICKEY 137
# define SKF_F_SKF_EXPORTECCPUBLICKEY 188
# define SKF_F_SKF_EXPORTECCSIGNPUBLICKEY 138
# define SKF_F_SKF_EXPORTEVPPUBLICKEY 189
# define SKF_F_SKF_EXPORTPUBLICKEY 139
# define SKF_F_SKF_EXPORTRSAENCPUBLICKEY 140
# define SKF_F_SKF_EXPORTRSAPUBLICKEY 190
# define SKF_F_SKF_EXPORTRSASIGNPUBLICKEY 141
# define SKF_F_SKF_EXPORTX509CERTIFICATE 191
# define SKF_F_SKF_EXTECCDECRYPT 142
# define SKF_F_SKF_EXTECCENCRYPT 143
# define SKF_F_SKF_EXTECCSIGN 144
# define SKF_F_SKF_EXTECCVERIFY 145
# define SKF_F_SKF_EXTRSAPRIKEYOPERATION 146
# define SKF_F_SKF_EXTRSAPUBKEYOPERATION 147
# define SKF_F_SKF_GENECCKEYPAIR 148
# define SKF_F_SKF_GENERATEAGREEMENTDATAANDKEYWITHECC 149
# define SKF_F_SKF_GENERATEAGREEMENTDATAWITHECC 150
# define SKF_F_SKF_GENERATEKEYWITHECC 151
# define SKF_F_SKF_GENEXTRSAKEY 152
# define SKF_F_SKF_GENRANDOM 153
# define SKF_F_SKF_GENRSAKEYPAIR 154
# define SKF_F_SKF_GETCONTAINERTYPE 155
# define SKF_F_SKF_GETDEVINFO 156
# define SKF_F_SKF_GETDEVSTATE 157
# define SKF_F_SKF_GETFILEINFO 158
# define SKF_F_SKF_GETPININFO 159
# define SKF_F_SKF_IMPORTCERTIFICATE 160
# define SKF_F_SKF_IMPORTECCKEYPAIR 161
# define SKF_F_SKF_IMPORTECCPRIVATEKEY 195
# define SKF_F_SKF_IMPORTPRIVATEKEY 192
# define SKF_F_SKF_IMPORTRSAKEYPAIR 162
# define SKF_F_SKF_IMPORTRSAPRIVATEKEY 196
# define SKF_F_SKF_IMPORTSESSIONKEY 163
# define SKF_F_SKF_IMPORTX509CERTIFICATEBYKEYUSAGE 193
# define SKF_F_SKF_LOADLIBRARY 164
# define SKF_F_SKF_LOCKDEV 165
# define SKF_F_SKF_MAC 166
# define SKF_F_SKF_MACFINAL 167
# define SKF_F_SKF_MACINIT 168
# define SKF_F_SKF_MACUPDATE 169
# define SKF_F_SKF_METHOD_LOAD_LIBRARY 104
# define SKF_F_SKF_NEWECCCIPHER 102
# define SKF_F_SKF_NEWENVELOPEDKEY 183
# define SKF_F_SKF_OPENAPPLICATION 170
# define SKF_F_SKF_OPENCONTAINER 171
# define SKF_F_SKF_READFILE 172
# define SKF_F_SKF_RSAEXPORTSESSIONKEY 173
# define SKF_F_SKF_RSASIGNDATA 174
# define SKF_F_SKF_RSAVERIFY 175
# define SKF_F_SKF_SETLABEL 176
# define SKF_F_SKF_SETSYMMKEY 177
# define SKF_F_SKF_TRANSMIT 178
# define SKF_F_SKF_UNBLOCKPIN 179
# define SKF_F_SKF_UNLOCKDEV 180
# define SKF_F_SKF_VERIFYPIN 181
# define SKF_F_SKF_W 105
# define SKF_F_SKF_WAITFORDEVEVENT 106
# define SKF_F_SKF_WRITEFILE 182
# define SKF_F_SKF_METHOD_LOAD_LIBRARY 170
# define SKF_F_SKF_NEWECCCIPHER 171
# define SKF_F_SKF_NEWENVELOPEDKEY 172
# define SKF_F_SKF_OPENAPPLICATION 173
# define SKF_F_SKF_OPENCONTAINER 174
# define SKF_F_SKF_OPENDEVICE 194
# define SKF_F_SKF_READFILE 175
# define SKF_F_SKF_RSAEXPORTSESSIONKEY 176
# define SKF_F_SKF_RSASIGNDATA 177
# define SKF_F_SKF_RSAVERIFY 178
# define SKF_F_SKF_SETLABEL 179
# define SKF_F_SKF_SETSYMMKEY 180
# define SKF_F_SKF_TRANSMIT 181
# define SKF_F_SKF_UNBLOCKPIN 182
# define SKF_F_SKF_UNLOCKDEV 183
# define SKF_F_SKF_VERIFYPIN 184
# define SKF_F_SKF_WAITFORDEVEVENT 185
# define SKF_F_SKF_WRITEFILE 186
/* Reason codes. */
# define SKF_R_APPLICATION_ALREADY_EXIST 110
# define SKF_R_APPLICATION_NOT_EXISAT 111
# define SKF_R_APPLICATION_NOT_EXIST 171
# define SKF_R_BUFFER_TOO_SMALL 112
# define SKF_R_CERTIFICATE_NOT_FOUND 113
# define SKF_R_CSP_IMPORT_PUBLIC_KEY_ERROR 114
# define SKF_R_DECRYPT_INVALID_PADDING 115
# define SKF_R_DEVICE_REMOVED 116
# define SKF_R_DIGEST_ERROR 117
# define SKF_R_DSO_LOAD_FAILURE 105
# define SKF_R_ENVELOPE_PRVATE_KEY_FAILURE 104
# define SKF_R_EXPORT_FAILED 118
# define SKF_R_FAILURE 108
# define SKF_R_FILE_ALREADY_EXIST 119
# define SKF_R_FILE_ERROR 120
# define SKF_R_FILE_NOT_EXIST 121
# define SKF_R_FUNCTION_NOT_SUPPORTED 106
# define SKF_R_HASH_NOT_EQUAL 122
# define SKF_R_IMPORT_ENVELOPED_ECC_PRIVATE_KEY_FAILURE 102
# define SKF_R_INVALID_APPLICATION_NAME 123
# define SKF_R_INVALID_CONTAINER_TYPE 103
# define SKF_R_INVALID_DIGEST_HANDLE 124
# define SKF_R_INVALID_HANDLE 125
# define SKF_R_INVALID_INPUT_LENGTH 126
# define SKF_R_INVALID_INPUT_VALUE 127
# define SKF_R_INVALID_KEY_INFO_TYPE 128
# define SKF_R_INVALID_KEY_USAGE 129
# define SKF_R_INVALID_MAC_LENGTH 130
# define SKF_R_INVALID_MODULUS_LENGTH 131
# define SKF_R_INVALID_NAME_LENGTH 132
# define SKF_R_INVALID_OBJECT 133
# define SKF_R_INVALID_PARAMETER 134
# define SKF_R_INVALID_PIN 135
# define SKF_R_INVALID_PIN_LENGTH 136
# define SKF_R_INVALID_RSA_MODULUS_LENGTH 137
# define SKF_R_INVALID_USER_TYPE 138
# define SKF_R_KEY_NOT_FOUND 139
# define SKF_R_LOAD_LIBRARY_FAILURE 101
# define SKF_R_MEMORY_ERROR 140
# define SKF_R_NOT_INITIALIZED 141
# define SKF_R_NOT_SUPPORTED_CIPHER_ALGOR 168
# define SKF_R_NOT_SUPPORTED_DIGEST_ALGOR 169
# define SKF_R_NOT_SUPPORTED_PKEY_ALGOR 170
# define SKF_R_NO_EVENT 142
# define SKF_R_NO_SPACE 143
# define SKF_R_NULL_ARGUMENT 100
# define SKF_R_OPERATION_NOT_SUPPORTED 144
# define SKF_R_PIN_INCORRECT 145
# define SKF_R_PIN_LOCKED 146
# define SKF_R_RANDOM_GENERATION_FAILED 147
# define SKF_R_READ_FILE_FAILURE 148
# define SKF_R_RSA_DECRYPTION_FAILURE 149
# define SKF_R_RSA_ENCRYPTION_FAILURE 150
# define SKF_R_RSA_KEY_GENERATION_FAILURE 151
# define SKF_R_SKF_METHOD_NOT_INITIALIZED 107
# define SKF_R_SUCCESS 152
# define SKF_R_TIMEOUT 153
# define SKF_R_UNKNOWN_ERROR 109
# define SKF_R_UNKNOWN_VENDOR 158
# define SKF_R_USER_ALREADY_LOGGED_IN 154
# define SKF_R_USER_NOT_LOGGED_IN 155
# define SKF_R_USER_PIN_NOT_INITIALIZED 156
# define SKF_R_WISEC_AUTH_BLOCKED 159
# define SKF_R_WISEC_CERTNOUSAGEERR 160
# define SKF_R_WISEC_CERTUSAGEERR 161
# define SKF_R_WISEC_CONTAINER_EXISTS 162
# define SKF_R_WISEC_CONTAINER_NOT_EXISTS 163
# define SKF_R_WISEC_DEVNOAUTH 164
# define SKF_R_WISEC_FILEATTRIBUTEERR 165
# define SKF_R_WISEC_INVALIDCONTAINERERR 166
# define SKF_R_WISEC_KEYNOUSAGEERR 167
# define SKF_R_WRITE_FILE_FAILURE 157
# define SKF_R_APPLICATION_ALREADY_EXIST 100
# define SKF_R_APPLICATION_NOT_EXIST 101
# define SKF_R_BUFFER_TOO_SMALL 102
# define SKF_R_CERTIFICATE_NOT_FOUND 103
# define SKF_R_CONTAINER_TYPE_NOT_MATCH 104
# define SKF_R_CSP_IMPORT_PUBLIC_KEY_ERROR 105
# define SKF_R_DECRYPT_INVALID_PADDING 106
# define SKF_R_DEVICE_REMOVED 107
# define SKF_R_DIGEST_ERROR 108
# define SKF_R_DSO_LOAD_FAILURE 109
# define SKF_R_EXPORT_FAILED 110
# define SKF_R_FAILURE 111
# define SKF_R_FILE_ALREADY_EXIST 112
# define SKF_R_FILE_ERROR 113
# define SKF_R_FILE_NOT_EXIST 114
# define SKF_R_FUNCTION_NOT_SUPPORTED 115
# define SKF_R_HASH_NOT_EQUAL 116
# define SKF_R_INVALID_APPLICATION_NAME 117
# define SKF_R_INVALID_CONTAINER_TYPE 168
# define SKF_R_INVALID_DIGEST_HANDLE 118
# define SKF_R_INVALID_ECC_PUBLIC_KEY 169
# define SKF_R_INVALID_HANDLE 119
# define SKF_R_INVALID_INPUT_LENGTH 120
# define SKF_R_INVALID_INPUT_VALUE 121
# define SKF_R_INVALID_KEY_INFO_TYPE 122
# define SKF_R_INVALID_KEY_USAGE 123
# define SKF_R_INVALID_MAC_LENGTH 124
# define SKF_R_INVALID_MODULUS_LENGTH 125
# define SKF_R_INVALID_NAME_LENGTH 126
# define SKF_R_INVALID_OBJECT 127
# define SKF_R_INVALID_PARAMETER 128
# define SKF_R_INVALID_PIN 129
# define SKF_R_INVALID_PIN_LENGTH 130
# define SKF_R_INVALID_RSA_MODULUS_LENGTH 131
# define SKF_R_INVALID_RSA_PUBLIC_KEY 170
# define SKF_R_INVALID_USER_TYPE 132
# define SKF_R_KEY_NOT_FOUND 133
# define SKF_R_LOAD_LIBRARY_FAILURE 134
# define SKF_R_MEMORY_ERROR 135
# define SKF_R_NOT_INITIALIZED 136
# define SKF_R_NOT_SUPPORTED_CIPHER_ALGOR 137
# define SKF_R_NOT_SUPPORTED_DIGEST_ALGOR 138
# define SKF_R_NOT_SUPPORTED_PKEY_ALGOR 139
# define SKF_R_NO_EVENT 140
# define SKF_R_NO_SPACE 141
# define SKF_R_OPERATION_NOT_SUPPORTED 142
# define SKF_R_PARSE_CERTIFICATE_FAILURE 171
# define SKF_R_PIN_INCORRECT 143
# define SKF_R_PIN_LOCKED 144
# define SKF_R_RANDOM_GENERATION_FAILED 145
# define SKF_R_READ_FILE_FAILURE 146
# define SKF_R_RSA_DECRYPTION_FAILURE 147
# define SKF_R_RSA_ENCRYPTION_FAILURE 148
# define SKF_R_RSA_KEY_GENERATION_FAILURE 149
# define SKF_R_SKF_METHOD_NOT_INITIALIZED 150
# define SKF_R_SUCCESS 151
# define SKF_R_TIMEOUT 152
# define SKF_R_UNKNOWN_CERTIFICATE_KEYUSAGE 172
# define SKF_R_UNKNOWN_ERROR 153
# define SKF_R_UNKNOWN_VENDOR 154
# define SKF_R_UNSUPPORTED_PRIVATE_KEY_TYPE 173
# define SKF_R_USER_ALREADY_LOGGED_IN 155
# define SKF_R_USER_NOT_LOGGED_IN 156
# define SKF_R_USER_PIN_NOT_INITIALIZED 157
# define SKF_R_WISEC_AUTH_BLOCKED 158
# define SKF_R_WISEC_CERTNOUSAGEERR 159
# define SKF_R_WISEC_CERTUSAGEERR 160
# define SKF_R_WISEC_CONTAINER_EXISTS 161
# define SKF_R_WISEC_CONTAINER_NOT_EXISTS 162
# define SKF_R_WISEC_DEVNOAUTH 163
# define SKF_R_WISEC_FILEATTRIBUTEERR 164
# define SKF_R_WISEC_INVALIDCONTAINERERR 165
# define SKF_R_WISEC_KEYNOUSAGEERR 166
# define SKF_R_WRITE_FILE_FAILURE 167
# ifdef __cplusplus
# ifdef __cplusplus
}
# endif
# endif
#endif
#endif

View File

@@ -41,9 +41,9 @@ extern "C" {
*/
# define OPENSSL_VERSION_NUMBER 0x1010004fL
# ifdef OPENSSL_FIPS
# define OPENSSL_VERSION_TEXT "GmSSL 2.4.3 - OpenSSL 1.1.0d-fips 12 Jan 2019"
# define OPENSSL_VERSION_TEXT "GmSSL 2.4.3 - OpenSSL 1.1.0d-fips 23 Jan 2019"
# else
# define OPENSSL_VERSION_TEXT "GmSSL 2.4.3 - OpenSSL 1.1.0d 12 Jan 2019"
# define OPENSSL_VERSION_TEXT "GmSSL 2.4.3 - OpenSSL 1.1.0d 23 Jan 2019"
# endif
/*-

View File

@@ -467,12 +467,13 @@ ULONG DEVAPI SKF_ECCSignData(
ULONG ulDigestLen,
ECCSIGNATUREBLOB *pSignature);
/* Extension */
#ifdef SKF_HAS_ECCDECRYPT
ULONG DEVAPI SKF_ECCDecrypt(
HCONTAINER hContainer,
ECCCIPHERBLOB *pCipherBlob,
BYTE *pbPlainText,
ULONG *pulPlainTextLen);
#endif
/* 7.6.14 */
ULONG DEVAPI SKF_ECCVerify(

View File

@@ -94,7 +94,7 @@ int SM2_compute_message_digest(const EVP_MD *id_md, const EVP_MD *msg_md,
int SM2_sign_setup(EC_KEY *ec_key, BN_CTX *ctx, BIGNUM **a, BIGNUM **b);
ECDSA_SIG *SM2_do_sign_ex(const unsigned char *dgst, int dgstlen,
const BIGNUM *a, const BIGNUM *b, EC_KEY *ec_key);
const BIGNUM *k, const BIGNUM *x, EC_KEY *ec_key);
ECDSA_SIG *SM2_do_sign(const unsigned char *dgst, int dgst_len,
EC_KEY *ec_key);
int SM2_do_verify(const unsigned char *dgst, int dgstlen,