csp.cpp

来自「微软出的CSPDK」· C++ 代码 · 共 690 行 · 第 1/2 页

CPP
690
字号
 */
BOOL WINAPI CPExportKey(IN HCRYPTPROV hProv,
                        IN HCRYPTKEY hKey,
                        IN HCRYPTKEY hPubKey,
                        IN DWORD dwBlobType,
                        IN DWORD dwFlags,
                        OUT BYTE *pbData,
                        OUT DWORD *pdwDataLen)
{

    return(CRYPT_SUCCEED);

}


/*
 -	CPImportKey
 -
 *	Purpose:
 *                Import cryptographic keys
 *
 *
 *	Parameters:
 *               IN  hProv     -  Handle to the CSP user
 *               IN  pbData    -  Key blob data
 *               IN  dwDataLen -  Length of the key blob data
 *               IN  hPubKey   -  Handle to the exchange public key value of
 *                                the destination user
 *               IN  dwFlags   -  Flags values
 *               OUT phKey     -  Pointer to the handle to the key which was
 *                                Imported
 *
 *	Returns:
 */
BOOL WINAPI CPImportKey(IN HCRYPTPROV hProv,
                        IN CONST BYTE *pbData,
                        IN DWORD dwDataLen,
                        IN HCRYPTKEY hPubKey,
                        IN DWORD dwFlags,
                        OUT HCRYPTKEY *phKey)
{

    return(CRYPT_SUCCEED);


}


/*
 -	CPEncrypt
 -
 *	Purpose:
 *                Encrypt data
 *
 *
 *	Parameters:
 *               IN  hProv         -  Handle to the CSP user
 *               IN  hKey          -  Handle to the key
 *               IN  hHash         -  Optional handle to a hash
 *               IN  Final         -  Boolean indicating if this is the final
 *                                    block of plaintext
 *               IN  dwFlags       -  Flags values
 *               IN OUT pbData     -  Data to be encrypted
 *               IN OUT pdwDataLen -  Pointer to the length of the data to be
 *                                    encrypted
 *               IN dwBufLen       -  Size of Data buffer
 *
 *	Returns:
 */
BOOL WINAPI CPEncrypt(IN HCRYPTPROV hProv,
                      IN HCRYPTKEY hKey,
                      IN HCRYPTHASH hHash,
                      IN BOOL Final,
                      IN DWORD dwFlags,
                      IN OUT BYTE *pbData,
                      IN OUT DWORD *pdwDataLen,
                      IN DWORD dwBufLen)
{

    return(CRYPT_SUCCEED);

}


/*
 -	CPDecrypt
 -
 *	Purpose:
 *                Decrypt data
 *
 *
 *	Parameters:
 *               IN  hProv         -  Handle to the CSP user
 *               IN  hKey          -  Handle to the key
 *               IN  hHash         -  Optional handle to a hash
 *               IN  Final         -  Boolean indicating if this is the final
 *                                    block of ciphertext
 *               IN  dwFlags       -  Flags values
 *               IN OUT pbData     -  Data to be decrypted
 *               IN OUT pdwDataLen -  Pointer to the length of the data to be
 *                                    decrypted
 *
 *	Returns:
 */
BOOL WINAPI CPDecrypt(IN HCRYPTPROV hProv,
                      IN HCRYPTKEY hKey,
                      IN HCRYPTHASH hHash,
                      IN BOOL Final,
                      IN DWORD dwFlags,
                      IN OUT BYTE *pbData,
                      IN OUT DWORD *pdwDataLen)

{

    return(CRYPT_SUCCEED);

}


/*
 -	CPCreateHash
 -
 *	Purpose:
 *                initate the hashing of a stream of data
 *
 *
 *	Parameters:
 *               IN  hUID    -  Handle to the user identifcation
 *               IN  Algid   -  Algorithm identifier of the hash algorithm
 *                              to be used
 *               IN  hKey    -  Optional key for MAC algorithms
 *               IN  dwFlags -  Flags values
 *               OUT pHash   -  Handle to hash object
 *
 *	Returns:
 */
BOOL WINAPI CPCreateHash(IN HCRYPTPROV hProv,
                         IN int Algid,
                         IN HCRYPTKEY hKey,
                         IN DWORD dwFlags,
                         OUT HCRYPTHASH *phHash)
{

    return(CRYPT_SUCCEED);
}


/*
 -	CPHashData
 -
 *	Purpose:
 *                Compute the cryptograghic hash on a stream of data
 *
 *
 *	Parameters:
 *               IN  hProv     -  Handle to the user identifcation
 *               IN  hHash     -  Handle to hash object
 *               IN  pbData    -  Pointer to data to be hashed
 *               IN  dwDataLen -  Length of the data to be hashed
 *               IN  dwFlags   -  Flags values
 *               IN  pdwMaxLen -  Maximum length of the data stream the CSP
 *                                module may handle
 *
 *	Returns:
 */
BOOL WINAPI CPHashData(IN HCRYPTPROV hProv,
                       IN HCRYPTHASH hHash,
                       IN CONST BYTE *pbData,
                       IN DWORD dwDataLen,
                       IN DWORD dwFlags)
{

    return(CRYPT_SUCCEED);

}


/*
 -	CPHashSessionKey
 -
 *	Purpose:
 *                Compute the cryptograghic hash on a key object.
 *
 *
 *	Parameters:
 *               IN  hProv     -  Handle to the user identifcation
 *               IN  hHash     -  Handle to hash object
 *               IN  hKey      -  Handle to a key object
 *               IN  dwFlags   -  Flags values
 *
 *	Returns:
 *               CRYPT_FAILED
 *               CRYPT_SUCCEED
 */
BOOL WINAPI CPHashSessionKey(IN HCRYPTPROV hProv,
                             IN HCRYPTHASH hHash,
                             IN HCRYPTKEY hKey,
                             IN DWORD dwFlags)
{

    return(CRYPT_SUCCEED);

}

/*
 -	CPDestoryHash
 -
 *	Purpose:
 *                Destory the hash object
 *
 *
 *	Parameters:
 *               IN  hProv     -  Handle to the user identifcation
 *               IN  hHash     -  Handle to hash object
 *
 *	Returns:
 */
BOOL WINAPI CPDestroyHash(IN HCRYPTPROV hProv,
                          IN HCRYPTHASH hHash)
{

    return(CRYPT_SUCCEED);

}


/*
 -	CPSignHash
 -
 *	Purpose:
 *                Create a digital signature from a hash
 *
 *
 *	Parameters:
 *               IN  hProv        -  Handle to the user identifcation
 *               IN  hHash        -  Handle to hash object
 *               IN  Algid        -  Algorithm identifier of the signature
 *                                   algorithm to be used
 *               IN  sDescription -  Description of data to be signed
 *               IN  dwFlags      -  Flags values
 *               OUT pbSignture   -  Pointer to signature data
 *               OUT dwHashLen    -  Pointer to the len of the signature data
 *
 *	Returns:
 */
BOOL WINAPI CPSignHash(IN HCRYPTPROV hProv,
                       IN HCRYPTHASH hHash,
                       IN DWORD dwKeySpec,
                       IN LPCWSTR sDescription,
                       IN DWORD dwFlags,
                       OUT BYTE *pbSignature,
                       OUT DWORD *pdwSigLen)
{

    return(CRYPT_SUCCEED);


}

/*
 -	CPVerifySignature
 -
 *	Purpose:
 *                Used to verify a signature against a hash object
 *
 *
 *	Parameters:
 *               IN  hProv        -  Handle to the user identifcation
 *               IN  hHash        -  Handle to hash object
 *               IN  pbSignture   -  Pointer to signature data
 *               IN  dwSigLen     -  Length of the signature data
 *               IN  hPubKey      -  Handle to the public key for verifying
 *                                   the signature
 *               IN  Algid        -  Algorithm identifier of the signature
 *                                   algorithm to be used
 *               IN  sDescription -  Description of data to be signed
 *               IN  dwFlags      -  Flags values
 *
 *	Returns:
 */
BOOL WINAPI CPVerifySignature(IN HCRYPTPROV hProv,
                              IN HCRYPTHASH hHash,
                              IN CONST BYTE *pbSignature,
                              IN DWORD dwSigLen,
                              IN HCRYPTKEY hPubKey,
                              IN LPCWSTR sDescription,
                              IN DWORD dwFlags)
{

    return(CRYPT_SUCCEED);


}



/*
 -	CPGenRandom
 -
 *	Purpose:
 *                Used to fill a buffer with random bytes
 *
 *
 *	Parameters:
 *               IN  hProv      -  Handle to the user identifcation
 *               OUT pbBuffer   -  Pointer to the buffer where the random
 *                                 bytes are to be placed
 *               IN  dwLen      -  Number of bytes of random data requested
 *
 *	Returns:
 */
BOOL WINAPI CPGenRandom(IN HCRYPTPROV hProv,
                        IN DWORD dwLen,
                        IN OUT BYTE *pbBuffer)

{

    return(CRYPT_SUCCEED);

}

/*
 -	CPGetUserKey
 -
 *	Purpose:
 *                Gets a handle to a permanent user key
 *
 *
 *	Parameters:
 *               IN  hProv      -  Handle to the user identifcation
 *               IN  dwKeySpec  -  Specification of the key to retrieve
 *               OUT phUserKey  -  Pointer to key handle of retrieved key
 *
 *	Returns:
 */
BOOL WINAPI CPGetUserKey(IN HCRYPTPROV hProv,
                         IN DWORD dwKeySpec,
                         OUT HCRYPTKEY *phUserKey)
{

    return(CRYPT_SUCCEED);

}

⌨️ 快捷键说明

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