mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-18 18:55:45 -04:00
Initial community commit
This commit is contained in:
73
Src/Plugins/Portable/pmp_p4s/scclient.h
Normal file
73
Src/Plugins/Portable/pmp_p4s/scclient.h
Normal file
@ -0,0 +1,73 @@
|
||||
//
|
||||
// Microsoft Windows Media Technologies
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef _CSECURECHANNELCLIENT_H_2AD99356_6FD2_11d3_8497_00C04F79DBC0
|
||||
#define _CSECURECHANNELCLIENT_H_2AD99356_6FD2_11d3_8497_00C04F79DBC0
|
||||
|
||||
#include "wtypes.h"
|
||||
|
||||
#ifdef USE_X509
|
||||
#include "rsa.h"
|
||||
#endif
|
||||
|
||||
#ifdef USE_X509
|
||||
#include "x509cert.h"
|
||||
#endif
|
||||
|
||||
#include "sac.h"
|
||||
|
||||
class CSecureChannelClient
|
||||
{
|
||||
public:
|
||||
CSecureChannelClient();
|
||||
~CSecureChannelClient();
|
||||
HRESULT SetCertificate(DWORD dwFlags,
|
||||
BYTE *pbAppCert,
|
||||
DWORD dwCertLen,
|
||||
BYTE *pbAppPVK,
|
||||
DWORD dwPVKLen);
|
||||
void SetInterface(IComponentAuthenticate *pComponentAuth);
|
||||
HRESULT Authenticate(DWORD dwProtocolID);
|
||||
HRESULT EncryptParam(BYTE *pbData,
|
||||
DWORD dwDataLen);
|
||||
HRESULT DecryptParam(BYTE *pbData,
|
||||
DWORD dwDataLen);
|
||||
HRESULT MACInit(HMAC *phMAC);
|
||||
HRESULT MACUpdate(HMAC hMAC,
|
||||
BYTE *pbData,
|
||||
DWORD dwDataLen);
|
||||
HRESULT MACFinal(HMAC hMAC,
|
||||
BYTE abData[SAC_MAC_LEN]);
|
||||
HRESULT GetAppSec(DWORD *pdwLocalAppSec, DWORD *pdwRemoteAppSec);
|
||||
HRESULT SetSessionKey(BYTE *pbSPSessionKey);
|
||||
HRESULT GetSessionKey(BYTE *pbSPSessionKey);
|
||||
HRESULT GetRemoteAppCert(BYTE *pbAppCert, DWORD* pdwCertLen);
|
||||
BOOL fIsAuthenticated();
|
||||
private:
|
||||
BOOL m_fAuthenticated;
|
||||
BYTE *m_pbAppCert;
|
||||
DWORD m_dwCertLen;
|
||||
BYTE *m_pbRemoteCert;
|
||||
DWORD m_dwRemoteCertLen;
|
||||
BYTE *m_pbAppPVK;
|
||||
DWORD m_dwPVKLen;
|
||||
BYTE *m_pbSessionKey;
|
||||
DWORD m_dwSessionKeyLen;
|
||||
BOOL m_TableInit;
|
||||
unsigned long m_DesTable[32];
|
||||
IComponentAuthenticate *m_pAuth;
|
||||
DWORD m_dwCertFlags;
|
||||
#ifdef USE_X509
|
||||
CX509Cert m_CertObj;
|
||||
#endif
|
||||
MACINFO aMacInfo[20];
|
||||
BYTE m_abMacKey[64];
|
||||
BOOL m_fMacKeyInit;
|
||||
CRITICAL_SECTION m_CS;
|
||||
HRESULT Protocol1();
|
||||
HRESULT Protocol2();
|
||||
};
|
||||
|
||||
#endif // _CSECURECHANNELCLIENT_H_2AD99356-6FD2-11d3-8497-00C04F79DBC0
|
Reference in New Issue
Block a user