Windows2000/private/ispu/pkitrust/mssip32/sipobjjv.cpp
2020-09-30 17:12:32 +02:00

61 lines
1.6 KiB
C++

// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1996 - 1999
// File: SIPObjJV.cpp (JAVA)
// Contents: Microsoft SIP Provider
// History: 15-Feb-1997 pberkman created
#include "global.hxx"
#include "sipobjjv.hxx"
// construct/destruct:
SIPObjectJAVA_::SIPObjectJAVA_(DWORD id) : SIPObject_(id)
{
memset(&SpcLink, 0x00, sizeof(SPC_LINK));
SpcLink.dwLinkChoice = SPC_FILE_LINK_CHOICE;
SpcLink.pwszFile = OBSOLETE_TEXT_W;
}
BOOL SIPObjectJAVA_::RemoveSignedDataMsg(SIP_SUBJECTINFO * pSI, DWORD dwIdx)
{
if (this->FileHandleFromSubject(pSI, GENERIC_READ | GENERIC_WRITE)) {
return(JavaRemoveCertificate(this->hFile, dwIdx));
}
return(FALSE);
}
// protected:
BOOL SIPObjectJAVA_::GetMessageFromFile(SIP_SUBJECTINFO * pSI, WIN_CERTIFICATE * pWinCert,
DWORD dwIndex, DWORD * pcbCert)
{
return(JavaGetCertificateData(this->hFile, dwIndex, pWinCert, pcbCert));
}
BOOL SIPObjectJAVA_::PutMessageInFile(SIP_SUBJECTINFO * pSI, WIN_CERTIFICATE * pWinCert, DWORD * pdwIndex)
{
if ((pWinCert->dwLength <= OFFSETOF(WIN_CERTIFICATE, bCertificate)) ||
(pWinCert->wCertificateType != WIN_CERT_TYPE_PKCS_SIGNED_DATA)) {
SetLastError((DWORD)ERROR_INVALID_PARAMETER);
return(FALSE);
}
if (pdwIndex) {
*pdwIndex = 0; // java only has 1
}
return(JavaAddCertificate(this->hFile, pWinCert, pdwIndex));
}
BOOL SIPObjectJAVA_::GetDigestStream(DIGEST_DATA * pDigestData, DIGEST_FUNCTION pfnCallBack, DWORD dwFlags)
{
return(JavaGetDigestStream(this->hFile, dwFlags, pfnCallBack, pDigestData));
}