⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bjcakey.h

📁 手机智能卡开发
💻 H
📖 第 1 页 / 共 2 页
字号:
	/*
			函数功能:	导出公钥
			参数说明:	hKey:		操作句柄
			pbContainerName:		容器名称
			ulContainerNameLen:	容器名称长度
			ulKeyType:			密钥的类型
			pbPubKey:		der编码的公钥
			ulPubKeyLen:	der编码的公钥长度					
			返回值:	USBKEY_SUCCESS:成功,其他见错误代码
	*/
	
	DWORD WINAPI ImportCert(IN HANDLE	hKey,				//需要User Login
			IN const unsigned char*	    pbContainerName,
			IN unsigned long		ulContainerNameLen,	
			IN unsigned long		ulKeyType,	
			IN unsigned char*	    pbCert,             //一定要为der编码的证书
			IN unsigned long	   ulCertLen);
	/*
			函数功能:	导入证书DER
			参数说明:	hKey:		操作句柄
			pbContainerName:		容器名称
			ulContainerNameLen:	容器名称长度
			ulKeyType:			密钥的类型
			pbCert:		der编码的证书
			ulCertLen:	der编码的证书长度					
			返回值:	USBKEY_SUCCESS:成功,其他见错误代码
	*/
DWORD WINAPI ImportPubKey(IN HANDLE			hKey,				//需要User Login
	IN const unsigned char*	    pbContainerName,
	IN unsigned long		ulContainerNameLen,	
	IN unsigned long		ulKeyType,	
	IN unsigned char*			pbPubKey,           //一定要为der编码的公钥
	IN unsigned long			ulPubKeyLen );
	/*
			函数功能:	导入公钥DER
			参数说明:	hKey:		操作句柄
			pbContainerName:		容器名称
			ulContainerNameLen:	容器名称长度
			ulKeyType:			密钥的类型
			pbPubKey:		der编码的公钥
			ulPubKeyLen:	der编码的公钥长度					
			返回值:	USBKEY_SUCCESS:成功,其他见错误代码
	*/			  
DWORD WINAPI ImportPriKey(IN HANDLE	hKey,				
	IN const unsigned char*	    pbContainerName,
	IN unsigned long		ulContainerNameLen,	
	IN unsigned long		ulKeyType,	
	IN unsigned char*			pbPriKey,       
	IN unsigned long			ulPriKeyLen);
	/*
			函数功能:	导入私钥DER
			参数说明:	hKey:		操作句柄
			pbContainerName:		容器名称
			ulContainerNameLen:	容器名称长度
			ulKeyType:			密钥的类型
			pbPriKey:		der编码的私钥
			ulPriKeyLen:	der编码的私钥长度					
			返回值:	USBKEY_SUCCESS:成功,其他见错误代码
	*/

	DWORD WINAPI ImportRSAKey(IN HANDLE	hKey,
			IN const unsigned char*	    pbContainerName,
			IN unsigned long		ulContainerNameLen,	
			IN unsigned long		ulKeyType,
			IN unsigned char*			pbPubKey,
			IN unsigned long			ulPubKeyLen,
			IN unsigned char*			pbPriKey,
			IN unsigned long			ulPriKeyLen);
	/*
			函数功能:	导入DER编码的RSA密钥对
			参数说明:	hKey:		操作句柄
			pbContainerName:		容器名称
			ulContainerNameLen:	容器名称长度
			ulKeyType:			密钥的类型
			pbPubKey:		der编码的公钥
			ulPubKeyLen:	der编码的公钥长度
			pbPriKey:		der编码的私钥
			ulPriKeyLen:	der编码的私钥长度		
			返回值:	USBKEY_SUCCESS:成功,其他见错误代码
	*/

	DWORD WINAPI DecryptData(IN HANDLE		hKey,
			IN const unsigned char*	    pbContainerName,
			IN unsigned long		ulContainerNameLen,	
			IN unsigned long		ulKeyType,	
			IN const unsigned char*	pbCipherData,		
			IN unsigned long			ulCipherDataLen,						 
			OUT unsigned char*			pbPlainData,	
			OUT unsigned long*			ulPlainDataLen);
	/*
			函数功能:	解密
			参数说明:	hKey:		操作句柄
			pbContainerName:		容器名称
			ulContainerNameLen:	容器名称长度
			ulKeyType:			密钥的类型
			pbCipherData:		输入数据
			ulCipherDataLen:	输入数据长度
			pbPlainData:		输出数据
			ulPlainDataLen:		输出数据长度
			返回值:	USBKEY_SUCCESS:成功,其他见错误代码
	*/
	
	DWORD WINAPI EncryptData(IN HANDLE					hKey, //需要User Login
			IN const unsigned char*	    pbContainerName,
			IN unsigned long		ulContainerNameLen,	
			IN unsigned long		ulKeyType,
			IN const unsigned char*	pbPlainData,
			IN unsigned long			ulPlainDataLen,    						 
			OUT unsigned char*			pbCipherData,      //长度一定要足够
			OUT unsigned long*			ulCipherDataLen);
	/*
		   函数功能:	加密
		   参数说明:	hKey:		操作句柄
		   pbContainerName:		容器名称
		   ulContainerNameLen:	容器名称长度
		   ulKeyType:			密钥的类型
		   pbCipherData:		输入数据
		   ulCipherDataLen:	输入数据长度
		   pbPlainData:		输出数据
		   ulPlainDataLen:		输出数据长度
		   返回值:	USBKEY_SUCCESS:成功,其他见错误代码
	*/

	//------------CAOWEI 11.22----------------------------------------------------
	DWORD WINAPI ImportSymKey(IN HANDLE			hKey,		//需要User Login
				IN unsigned long			ulKeyType,
				IN unsigned char*			pbKey,
				IN unsigned long			ulKeyLen);
	/*
			函数功能:	导入对称密钥
			参数说明:	hKey:		操作句柄
			ulKeyType:			密钥的类型,  //TYPE_SYMKEY_SSF33 
			pbKey:				密钥
			ulKeyLen:		密钥长度					
			返回值:	USBKEY_SUCCESS:成功,其他见错误代码
	*/			  

	DWORD WINAPI SymEncryptData(IN HANDLE					hKey, //需要User Login
			IN unsigned char*	pbPlainData,
			IN unsigned long			ulPlainDataLen,    						 
			OUT unsigned char*			pbCipherData,      //长度一定要足够
			OUT unsigned long*			ulCipherDataLen);
	/*
		   函数功能:	对称密钥加密
		   参数说明:	hKey:		操作句柄		   
		   pbCipherData:		输入数据
		   ulCipherDataLen:		输入数据长度
		   pbPlainData:			输出数据
		   ulPlainDataLen:		输出数据长度
		   返回值:	USBKEY_SUCCESS:成功,其他见错误代码
	*/

	DWORD WINAPI SymDecryptData(IN HANDLE		hKey,
			IN unsigned char*		pbCipherData,		
			IN unsigned long			ulCipherDataLen,						 
			OUT unsigned char*			pbPlainData,	
			OUT unsigned long*			ulPlainDataLen);
	/*
			函数功能:	解密
			参数说明:	hKey:		操作句柄			
			pbCipherData:		输入数据
			ulCipherDataLen:	输入数据长度
			pbPlainData:		输出数据
			ulPlainDataLen:		输出数据长度
			返回值:	USBKEY_SUCCESS:成功,其他见错误代码
	*/
	//---------------------------------------------------------------------------------------
DWORD WINAPI GetBjcaKeyParam(IN HANDLE		hEkey, 
							 IN unsigned long		dwParam, 
							 OUT unsigned char		*pbData, 
							 IN OUT unsigned long	*pdwDataLen, 
							 IN unsigned long		dwFlags);
	/*
			函数功能:	取得ekey参数
			参数说明:	hKey:		操作句柄			
			dwParam:	获得信息类型,具体见ekey信息宏定义
			pbData:			输出数据
			pdwDataLen:		输出数据长度			
			dwFlags:		取值0,保留字节
			返回值:	USBKEY_SUCCESS:成功,其他见错误代码
	*/

	DWORD WINAPI BjcaKeyBlank(IN HANDLE	hEkey);
	/*
			函数功能:	清空EKEY
			参数说明:	hKey:		操作句柄						
			返回值:	USBKEY_SUCCESS:成功,其他见错误代码
	*/

	
	DWORD WINAPI OpenSpecCard(IN OUT HANDLE* hKey, IN unsigned char* Device_Label);
	/*
			函数功能:	根据卷标打开句柄
			参数说明:	hKey:		返回操作句柄
						Device_Label:卷标
			返回值:	USBKEY_SUCCESS:成功,其他见错误代码
	*/

	DWORD WINAPI BjcaKeyCreateFile(IN HANDLE hEkey,
                             IN unsigned char *FileName,
                             IN unsigned long FileNameLen,
                             IN unsigned long MaxFileLen,
                             IN unsigned long Flag    );
 /*
   函数功能: 在智能卡内写数据
   参数说明: hKey:   操作句柄  
             *FileName    私有文件区名称
             FileNameLen  文件名称长度
             MaxFileLen   最大文件长度
             Flag         数据长度   定义该文件属性 (见用户文件宏)
                  
        返回值: USBKEY_SUCCESS:成功,其他见错误代码
 */
 

	DWORD WINAPI BjcaKeyWriteData(IN HANDLE hEkey,
                             IN unsigned char *FileName,
                             IN unsigned long FileNameLen,
                          IN unsigned char *pbData, 
        IN unsigned long pbDataLen);
 /*
   函数功能: 在智能卡内写数据
   参数说明: hKey:   操作句柄  
             *FileName    私有文件区名称
             FileNameLen  文件名称长度
              *pbData      数据内容
               pbDataLen    数据长度
   
     返回值: USBKEY_SUCCESS:成功,其他见错误代码
 */

//读数据
DWORD WINAPI BjcaKeyReadData(IN HANDLE hEkey,
                             IN unsigned char *FileName,
                             IN unsigned long FileNameLen,
                          OUT unsigned char *pbData, 
        OUT unsigned long *pbDataLen);
 /*
   函数功能: 在智能卡内读数据
   参数说明: hKey:   操作句柄  
             *FileName    私有文件区名称
             FileNameLen  文件名称长度
              *pbData      数据内容
               *pbDataLen   数据长度
   
     返回值: USBKEY_SUCCESS:成功,其他见错误代码
 */
DWORD WINAPI BjcaKeyDelFile(IN HANDLE hEkey,
                             IN unsigned char *FileName,
                             IN unsigned long FileNameLen);
 /*
   函数功能: 在智能卡删除指定数据
   参数说明: hKey:   操作句柄  
             *FileName    私有文件区名称
             FileNameLen  文件名称长度
             
   
     返回值: USBKEY_SUCCESS:成功,其他见错误代码
 */

DWORD WINAPI BjcaKeyListFile(IN HANDLE hEkey, 
                         OUT FILEINFO *pbFileInfo,
                         OUT DWORD *pdwFileNum);
 /*
   函数功能: 列举用户文件
   参数说明: hEkey:   操作句柄  
             *FileName    返回文件个数
             FileNameLen  返回文件结构
             
   
     返回值: USBKEY_SUCCESS:成功,其他见错误代码
 */                         

#ifdef __cplusplus
}
#endif

#endif	//__BJCAKEY_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -