Juan Lang : crypt32: Implement CryptSIPGetSignedDataMsg,
CryptSIPPutSignedDataMsg,
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Jul 10 08:02:41 CDT 2007
Module: wine
Branch: master
Commit: 1d5a8b2f781e2a4a8894c84d2590a8e198a24cea
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1d5a8b2f781e2a4a8894c84d2590a8e198a24cea
Author: Juan Lang <juan.lang at gmail.com>
Date: Mon Jul 9 13:44:38 2007 -0700
crypt32: Implement CryptSIPGetSignedDataMsg, CryptSIPPutSignedDataMsg,
CryptSIPCreateIndirectData, CryptSIPVerifyIndirectData, and
CryptSIPRemoveSignedDataMsg.
---
dlls/crypt32/sip.c | 47 +++++++++++++++++++++++++++++++++++++----------
1 files changed, 37 insertions(+), 10 deletions(-)
diff --git a/dlls/crypt32/sip.c b/dlls/crypt32/sip.c
index ed50380..34668e5 100644
--- a/dlls/crypt32/sip.c
+++ b/dlls/crypt32/sip.c
@@ -568,9 +568,14 @@ BOOL WINAPI CryptSIPLoad
BOOL WINAPI CryptSIPCreateIndirectData(SIP_SUBJECTINFO* pSubjectInfo, DWORD* pcbIndirectData,
SIP_INDIRECT_DATA* pIndirectData)
{
- FIXME("(%p %p %p) stub\n", pSubjectInfo, pcbIndirectData, pIndirectData);
+ WINE_SIP_PROVIDER *sip;
+ BOOL ret = FALSE;
- return FALSE;
+ TRACE("(%p %p %p)\n", pSubjectInfo, pcbIndirectData, pIndirectData);
+
+ if ((sip = CRYPT_GetCachedSIP(pSubjectInfo->pgSubjectType)))
+ ret = sip->info.pfCreate(pSubjectInfo, pcbIndirectData, pIndirectData);
+ return ret;
}
/***********************************************************************
@@ -579,10 +584,16 @@ BOOL WINAPI CryptSIPCreateIndirectData(SIP_SUBJECTINFO* pSubjectInfo, DWORD* pcb
BOOL WINAPI CryptSIPGetSignedDataMsg(SIP_SUBJECTINFO* pSubjectInfo, DWORD* pdwEncodingType,
DWORD dwIndex, DWORD* pcbSignedDataMsg, BYTE* pbSignedDataMsg)
{
- FIXME("(%p %p %d %p %p) stub\n", pSubjectInfo, pdwEncodingType, dwIndex,
+ WINE_SIP_PROVIDER *sip;
+ BOOL ret = FALSE;
+
+ TRACE("(%p %p %d %p %p)\n", pSubjectInfo, pdwEncodingType, dwIndex,
pcbSignedDataMsg, pbSignedDataMsg);
- return FALSE;
+ if ((sip = CRYPT_GetCachedSIP(pSubjectInfo->pgSubjectType)))
+ ret = sip->info.pfGet(pSubjectInfo, pdwEncodingType, dwIndex,
+ pcbSignedDataMsg, pbSignedDataMsg);
+ return ret;
}
/***********************************************************************
@@ -591,10 +602,16 @@ BOOL WINAPI CryptSIPGetSignedDataMsg(SIP_SUBJECTINFO* pSubjectInfo, DWORD* pdwEn
BOOL WINAPI CryptSIPPutSignedDataMsg(SIP_SUBJECTINFO* pSubjectInfo, DWORD pdwEncodingType,
DWORD* pdwIndex, DWORD cbSignedDataMsg, BYTE* pbSignedDataMsg)
{
- FIXME("(%p %d %p %d %p) stub\n", pSubjectInfo, pdwEncodingType, pdwIndex,
+ WINE_SIP_PROVIDER *sip;
+ BOOL ret = FALSE;
+
+ TRACE("(%p %d %p %d %p)\n", pSubjectInfo, pdwEncodingType, pdwIndex,
cbSignedDataMsg, pbSignedDataMsg);
- return FALSE;
+ if ((sip = CRYPT_GetCachedSIP(pSubjectInfo->pgSubjectType)))
+ ret = sip->info.pfPut(pSubjectInfo, pdwEncodingType, pdwIndex,
+ cbSignedDataMsg, pbSignedDataMsg);
+ return ret;
}
/***********************************************************************
@@ -603,9 +620,14 @@ BOOL WINAPI CryptSIPPutSignedDataMsg(SIP_SUBJECTINFO* pSubjectInfo, DWORD pdwEnc
BOOL WINAPI CryptSIPRemoveSignedDataMsg(SIP_SUBJECTINFO* pSubjectInfo,
DWORD dwIndex)
{
- FIXME("(%p %d) stub\n", pSubjectInfo, dwIndex);
+ WINE_SIP_PROVIDER *sip;
+ BOOL ret = FALSE;
- return FALSE;
+ TRACE("(%p %d)\n", pSubjectInfo, dwIndex);
+
+ if ((sip = CRYPT_GetCachedSIP(pSubjectInfo->pgSubjectType)))
+ ret = sip->info.pfRemove(pSubjectInfo, dwIndex);
+ return ret;
}
/***********************************************************************
@@ -614,7 +636,12 @@ BOOL WINAPI CryptSIPRemoveSignedDataMsg(SIP_SUBJECTINFO* pSubjectInfo,
BOOL WINAPI CryptSIPVerifyIndirectData(SIP_SUBJECTINFO* pSubjectInfo,
SIP_INDIRECT_DATA* pIndirectData)
{
- FIXME("(%p %p) stub\n", pSubjectInfo, pIndirectData);
+ WINE_SIP_PROVIDER *sip;
+ BOOL ret = FALSE;
- return FALSE;
+ TRACE("(%p %p)\n", pSubjectInfo, pIndirectData);
+
+ if ((sip = CRYPT_GetCachedSIP(pSubjectInfo->pgSubjectType)))
+ ret = sip->info.pfVerify(pSubjectInfo, pIndirectData);
+ return ret;
}
More information about the wine-cvs
mailing list