Module: wine Branch: master Commit: 80a24edb55acc6cb5372ee403b08ac41e32c5cba URL: http://source.winehq.org/git/wine.git/?a=commit;h=80a24edb55acc6cb5372ee403b...
Author: Juan Lang juan.lang@gmail.com Date: Mon Jan 5 13:34:35 2009 -0800
crypt32: Implement CryptMsgEncodeAndSignCTL on top of CryptMsgSignCTL.
---
dlls/crypt32/msg.c | 21 +++++++++++++++++++-- 1 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/dlls/crypt32/msg.c b/dlls/crypt32/msg.c index cbbbffe..14140c2 100644 --- a/dlls/crypt32/msg.c +++ b/dlls/crypt32/msg.c @@ -2901,9 +2901,26 @@ BOOL WINAPI CryptMsgEncodeAndSignCTL(DWORD dwMsgEncodingType, PCTL_INFO pCtlInfo, PCMSG_SIGNED_ENCODE_INFO pSignInfo, DWORD dwFlags, BYTE *pbEncoded, DWORD *pcbEncoded) { - FIXME("(%08x, %p, %p, %08x, %p, %p): stub\n", dwMsgEncodingType, pCtlInfo, + BOOL ret; + BYTE *pbCtlContent; + DWORD cbCtlContent; + + TRACE("(%08x, %p, %p, %08x, %p, %p)\n", dwMsgEncodingType, pCtlInfo, pSignInfo, dwFlags, pbEncoded, pcbEncoded); - return FALSE; + + if (dwFlags) + { + FIXME("unimplemented for flags %08x\n", dwFlags); + return FALSE; + } + if ((ret = CryptEncodeObjectEx(dwMsgEncodingType, PKCS_CTL, pCtlInfo, + CRYPT_ENCODE_ALLOC_FLAG, NULL, &pbCtlContent, &cbCtlContent))) + { + ret = CryptMsgSignCTL(dwMsgEncodingType, pbCtlContent, cbCtlContent, + pSignInfo, dwFlags, pbEncoded, pcbEncoded); + LocalFree(pbCtlContent); + } + return ret; }
BOOL WINAPI CryptMsgSignCTL(DWORD dwMsgEncodingType, BYTE *pbCtlContent,