88 lines
2.4 KiB
C
88 lines
2.4 KiB
C
|
|
||
|
// File: certui.h
|
||
|
|
||
|
TCHAR * FormatCert ( PBYTE pbEncodedCert, DWORD cbEncodedCert );
|
||
|
|
||
|
//
|
||
|
// Brings up a certificate picker dialog and returns the encoded
|
||
|
// certificate chosen in a buffer. Buffer must be freed via
|
||
|
// FreeT120EncodedCert.
|
||
|
//
|
||
|
|
||
|
BOOL ChangeCertDlg ( HWND hwndParent, HINSTANCE hInstance,
|
||
|
PBYTE * ppEncodedCert, DWORD * pcbEncodedCert );
|
||
|
|
||
|
//
|
||
|
// Brings up system-dependent certificate details UI on the
|
||
|
// certificate specified by the context passed in.
|
||
|
//
|
||
|
|
||
|
VOID ViewCertDlg ( HWND hwndParent, PCCERT_CONTEXT pCert );
|
||
|
//
|
||
|
// Gets the currently active certificate from the transport and
|
||
|
// returns it in the buffer. Buffer must be freed via FreeT120EncodedCert.
|
||
|
//
|
||
|
|
||
|
BOOL GetT120ActiveCert( PBYTE * ppEncodedCert, DWORD * pcbEncodedCert );
|
||
|
|
||
|
//
|
||
|
// This function returns the user's default certificate as identified
|
||
|
// in the registry (or the first available if nothing is specified in
|
||
|
// the registry. The buffer returned must be freed via FreeT120EncodedCert.
|
||
|
|
||
|
BOOL GetDefaultSystemCert ( PBYTE * ppEncodedCert, DWORD * pcbEncodedCert );
|
||
|
|
||
|
//
|
||
|
// Sets the active certificate (NOT self issued) in the transprot using
|
||
|
// the supplied buffer as a template. If the cert passed in can't be
|
||
|
// found in the certificate store, then this function fails.
|
||
|
//
|
||
|
|
||
|
BOOL SetT120ActiveCert( BOOL fSelfIssued,
|
||
|
PBYTE pEncodedCert, DWORD cbEncodedCert );
|
||
|
|
||
|
//
|
||
|
// Reads the registry for the user's initialization settings ( self-issued
|
||
|
// cert or system cert, and which system cert? ) and makes the corresponding
|
||
|
// certificate active in the transport. This function is called when the
|
||
|
// UI is initializing and if user startup settings need to be restored.
|
||
|
//
|
||
|
|
||
|
BOOL InitT120SecurityFromRegistry(VOID);
|
||
|
|
||
|
//
|
||
|
// Frees the passed in buffer.
|
||
|
//
|
||
|
|
||
|
VOID FreeT120EncodedCert( PBYTE pbEncodedCert );
|
||
|
|
||
|
//
|
||
|
// This function updates the registry (used for initialization) by
|
||
|
// saving the serial number of the supplied certificate to the registry.
|
||
|
// The passed in cert must be in the system store, not self-issued.
|
||
|
//
|
||
|
|
||
|
BOOL SetT120CertInRegistry ( PBYTE pbEncodedCert, DWORD cbEncodedCert );
|
||
|
|
||
|
//
|
||
|
// This function makes the self-issued certificate in the application
|
||
|
// specific store active in the transport.
|
||
|
//
|
||
|
|
||
|
BOOL RefreshSelfIssuedCert (VOID);
|
||
|
|
||
|
|
||
|
//
|
||
|
// Utility function, returns number of certificates in system store
|
||
|
//
|
||
|
|
||
|
DWORD NumUserCerts(VOID);
|
||
|
|
||
|
|
||
|
//
|
||
|
// Takes pointer to CERT_INFO structure and sets cert in transport
|
||
|
//
|
||
|
HRESULT SetCertFromCertInfo ( PCERT_INFO pCertInfo );
|
||
|
|
||
|
|