public:
SSCSPDLSession &mSSCSPDLSession;
SSFactory &mSSFactory;
-
+ CssmClient::CSP &mRawCsp;
+
SSCSPSession(CSSM_MODULE_HANDLE handle,
CSPDLPlugin &plug,
const CSSM_VERSION &version,
CSSM_SERVICE_TYPE subserviceType,
CSSM_ATTACH_FLAGS attachFlags,
const CSSM_UPCALLS &upcalls,
- SSCSPDLSession &ssCSPDLSession);
+ SSCSPDLSession &ssCSPDLSession,
+ CssmClient::CSP &rawCsp);
SecurityServer::ClientSession &clientSession()
- { return mSSCSPDLSession.clientSession(); }
+ { return mClientSession; }
CSPContext *contextCreate(CSSM_CC_HANDLE handle, const Context &context);
#if 0
void setupContext(CSPContext * &ctx, const Context &context,
bool encoding);
-
+
+ SSDatabase getDatabase(CSSM_DL_DB_HANDLE *aDLDbHandle);
SSDatabase getDatabase(const Context &context);
void makeReferenceKey(SecurityServer::KeyHandle inKeyHandle,
uint32 PassThroughId,
const void *InData,
void **OutData);
+private:
+ /* Validate requested key attr flags for newly generated keys */
+ void validateKeyAttr(uint32 reqKeyAttr);
+
+ SecurityServer::ClientSession mClientSession;
};