зеркало из https://github.com/mozilla/gecko-dev.git
98 строки
2.3 KiB
C
98 строки
2.3 KiB
C
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "ckmk.h"
|
|
|
|
/*
|
|
* nssmkey/minstance.c
|
|
*
|
|
* This file implements the NSSCKMDInstance object for the
|
|
* "nssmkey" cryptoki module.
|
|
*/
|
|
|
|
/*
|
|
* NSSCKMDInstance methods
|
|
*/
|
|
|
|
static CK_ULONG
|
|
ckmk_mdInstance_GetNSlots(
|
|
NSSCKMDInstance *mdInstance,
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_RV *pError)
|
|
{
|
|
return (CK_ULONG)1;
|
|
}
|
|
|
|
static CK_VERSION
|
|
ckmk_mdInstance_GetCryptokiVersion(
|
|
NSSCKMDInstance *mdInstance,
|
|
NSSCKFWInstance *fwInstance)
|
|
{
|
|
return nss_ckmk_CryptokiVersion;
|
|
}
|
|
|
|
static NSSUTF8 *
|
|
ckmk_mdInstance_GetManufacturerID(
|
|
NSSCKMDInstance *mdInstance,
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_RV *pError)
|
|
{
|
|
return (NSSUTF8 *)nss_ckmk_ManufacturerID;
|
|
}
|
|
|
|
static NSSUTF8 *
|
|
ckmk_mdInstance_GetLibraryDescription(
|
|
NSSCKMDInstance *mdInstance,
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_RV *pError)
|
|
{
|
|
return (NSSUTF8 *)nss_ckmk_LibraryDescription;
|
|
}
|
|
|
|
static CK_VERSION
|
|
ckmk_mdInstance_GetLibraryVersion(
|
|
NSSCKMDInstance *mdInstance,
|
|
NSSCKFWInstance *fwInstance)
|
|
{
|
|
return nss_ckmk_LibraryVersion;
|
|
}
|
|
|
|
static CK_RV
|
|
ckmk_mdInstance_GetSlots(
|
|
NSSCKMDInstance *mdInstance,
|
|
NSSCKFWInstance *fwInstance,
|
|
NSSCKMDSlot *slots[])
|
|
{
|
|
slots[0] = (NSSCKMDSlot *)&nss_ckmk_mdSlot;
|
|
return CKR_OK;
|
|
}
|
|
|
|
static CK_BBOOL
|
|
ckmk_mdInstance_ModuleHandlesSessionObjects(
|
|
NSSCKMDInstance *mdInstance,
|
|
NSSCKFWInstance *fwInstance)
|
|
{
|
|
/* we don't want to allow any session object creation, at least
|
|
* until we can investigate whether or not we can use those objects
|
|
*/
|
|
return CK_TRUE;
|
|
}
|
|
|
|
NSS_IMPLEMENT_DATA const NSSCKMDInstance
|
|
nss_ckmk_mdInstance = {
|
|
(void *)NULL, /* etc */
|
|
NULL, /* Initialize */
|
|
NULL, /* Finalize */
|
|
ckmk_mdInstance_GetNSlots,
|
|
ckmk_mdInstance_GetCryptokiVersion,
|
|
ckmk_mdInstance_GetManufacturerID,
|
|
ckmk_mdInstance_GetLibraryDescription,
|
|
ckmk_mdInstance_GetLibraryVersion,
|
|
ckmk_mdInstance_ModuleHandlesSessionObjects,
|
|
/*NULL, /* HandleSessionObjects */
|
|
ckmk_mdInstance_GetSlots,
|
|
NULL, /* WaitForSlotEvent */
|
|
(void *)NULL /* null terminator */
|
|
};
|