update crypto

This commit is contained in:
Zhi Guan
2017-03-08 15:02:42 +08:00
parent 4d84dd7557
commit 002096751c
29 changed files with 1062 additions and 134 deletions

View File

@@ -71,6 +71,8 @@ const char *GMAPI_keyusage2str(int usage);
int GMAPI_sgd2ciphernid(int sgd);
int GMAPI_sgd2mdnid(int sgd);
int EVP_MD_sgd(const EVP_MD *md);
int EVP_CIPHER_sgd(const EVP_CIPHER *cipher);
/* SGD <==> EVP */
const EVP_MD *EVP_get_digestbysgd(int sgd);

View File

@@ -107,10 +107,15 @@ int ERR_load_SAF_strings(void);
# define SAF_F_SAF_HASHUPDATE 131
# define SAF_F_SAF_INITIALIZE 132
# define SAF_F_SAF_KEY_NEW 133
# define SAF_F_SAF_LOAD_PRIVATE_KEY 151
# define SAF_F_SAF_LOAD_PUBLIC_KEY 152
# define SAF_F_SAF_LOGIN 134
# define SAF_F_SAF_LOGOUT 135
# define SAF_F_SAF_MACFINAL 136
# define SAF_F_SAF_MACUPDATE 137
# define SAF_F_SAF_PKCS7_DECODEDIGESTEDDATA 153
# define SAF_F_SAF_PKCS7_DECODEENVELOPEDDATA 154
# define SAF_F_SAF_PKCS7_DECODESIGNEDDATA 155
# define SAF_F_SAF_PKCS7_ENCODEDIGESTEDDATA 149
# define SAF_F_SAF_PKCS7_ENCODEENVELOPEDDATA 138
# define SAF_F_SAF_PKCS7_ENCODESIGNEDDATA 150
@@ -134,6 +139,7 @@ int ERR_load_SAF_strings(void);
# define SAF_R_GEN_RANDOM_FAILURE 105
# define SAF_R_INT_OVERFLOW 106
# define SAF_R_INVALID_ALGOR 107
# define SAF_R_INVALID_APP 124
# define SAF_R_INVALID_CERTIFICATE 108
# define SAF_R_INVALID_DIGEST_ALGOR 122
# define SAF_R_INVALID_HANDLE 109
@@ -143,13 +149,22 @@ int ERR_load_SAF_strings(void);
# define SAF_R_INVALID_KEY_LENGTH 113
# define SAF_R_INVALID_KEY_USAGE 114
# define SAF_R_INVALID_LENGTH 115
# define SAF_R_INVALID_PKCS7 125
# define SAF_R_INVALID_PKCS7_DATA 126
# define SAF_R_INVALID_PKCS7_TYPE 127
# define SAF_R_INVALID_PKEY_TYPE 128
# define SAF_R_INVALID_PUBLIC_KEY 116
# define SAF_R_LOA 132
# define SAF_R_LOAD_CERTS_FAILURE 117
# define SAF_R_LOAD_KEY_FAILURE 123
# define SAF_R_LOAD_PRIVATE_KEY_FAILURE 129
# define SAF_R_LOAD_PUBLIC_KEY_FAILURE 130
# define SAF_R_MAC_FAILURE 118
# define SAF_R_NOT_SUPPORTED 119
# define SAF_R_OPERATION_NOT_INITIALIZED 120
# define SAF_R_PKCS7_VERIFY_FAILURE 133
# define SAF_R_UNSUPPORTED_ALGOR 121
# define SAF_R_UNSUPPORTED_DIGEST_ALGOR 131
# ifdef __cplusplus
}

View File

@@ -135,7 +135,9 @@ int ERR_load_SOF_strings(void);
# define SOF_F_SOF_VERIFYTIMESTAMP 142
/* Reason codes. */
# define SOF_R_DECODE_FAILURE 101
# define SOF_R_NOT_IMPLEMENTED 100
# define SOF_R_READ_FILE_FAILURE 102
# ifdef __cplusplus
}

View File

@@ -592,7 +592,17 @@ int SAF_Pkcs7_EncodeData(
unsigned int *puiDerP7DataLen);
int SAF_Pkcs7_DecodeData(
void *hAppHandle);
void *hAppHandle,
unsigned char *pucDecContainerName,
unsigned int uiDecContainerNameLen,
unsigned int uiDecKeyUsage,
unsigned char *pucDerP7Data,
unsigned int uiDerP7DataLen,
unsigned char *pucData,
unsigned int *puiDataLen,
unsigned char *pucSignerCertificate,
unsigned int *puiSignerCertificateLen,
unsigned int *puiDigestAlgorithm);
int SAF_Pkcs7_EncodeSignedData(
void *hAppHandle,
@@ -611,13 +621,13 @@ int SAF_Pkcs7_DecodeSignedData(
void *hAppHandle,
unsigned char *pucDerP7SignedData,
unsigned int uiDerP7SignedDataLen,
unsigned int *puiDigestAlgorithm,
unsigned char *pucSignerCertificate,
unsigned int uiSignerCertificateLen,
unsigned int uiDigestAlgorithm,
unsigned int *puiSignerCertificateLen,
unsigned char *pucData,
unsigned int uiDataLen,
unsigned char *pucSign,
unsigned int *puiSignLen);
unsigned int *puiDataLen,
unsigned char *pucSig,
unsigned int *puiSigLen);
int SAF_Pkcs7_EncodeEnvelopedData(
void *hAppHandle,

View File

@@ -175,6 +175,8 @@ int SM2_sign(int type, const unsigned char *dgst, int dgstlen,
int SM2_verify(int type, const unsigned char *dgst, int dgstlen,
const unsigned char *sig, int siglen, EC_KEY *ec_key);
int SM2_compute_key(void *out, size_t outlen, const EC_POINT *pub_key,
const EC_KEY *ec_key, void *(*KDF) (const void *in, size_t inlen, void *out, size_t *outlen));
typedef struct sm2_kap_ctx_st {