tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

btoken.c (4088B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 #include "builtins.h"
      6 
      7 /*
      8 * builtins/token.c
      9 *
     10 * This file implements the NSSCKMDToken object for the
     11 * "builtin objects" cryptoki module.
     12 */
     13 
     14 static NSSUTF8 *
     15 builtins_mdToken_GetLabel(
     16    NSSCKMDToken *mdToken,
     17    NSSCKFWToken *fwToken,
     18    NSSCKMDInstance *mdInstance,
     19    NSSCKFWInstance *fwInstance,
     20    CK_RV *pError)
     21 {
     22    return (NSSUTF8 *)nss_builtins_TokenLabel;
     23 }
     24 
     25 static NSSUTF8 *
     26 builtins_mdToken_GetManufacturerID(
     27    NSSCKMDToken *mdToken,
     28    NSSCKFWToken *fwToken,
     29    NSSCKMDInstance *mdInstance,
     30    NSSCKFWInstance *fwInstance,
     31    CK_RV *pError)
     32 {
     33    return (NSSUTF8 *)nss_builtins_ManufacturerID;
     34 }
     35 
     36 static NSSUTF8 *
     37 builtins_mdToken_GetModel(
     38    NSSCKMDToken *mdToken,
     39    NSSCKFWToken *fwToken,
     40    NSSCKMDInstance *mdInstance,
     41    NSSCKFWInstance *fwInstance,
     42    CK_RV *pError)
     43 {
     44    return (NSSUTF8 *)nss_builtins_TokenModel;
     45 }
     46 
     47 static NSSUTF8 *
     48 builtins_mdToken_GetSerialNumber(
     49    NSSCKMDToken *mdToken,
     50    NSSCKFWToken *fwToken,
     51    NSSCKMDInstance *mdInstance,
     52    NSSCKFWInstance *fwInstance,
     53    CK_RV *pError)
     54 {
     55    return (NSSUTF8 *)nss_builtins_TokenSerialNumber;
     56 }
     57 
     58 static CK_BBOOL
     59 builtins_mdToken_GetIsWriteProtected(
     60    NSSCKMDToken *mdToken,
     61    NSSCKFWToken *fwToken,
     62    NSSCKMDInstance *mdInstance,
     63    NSSCKFWInstance *fwInstance)
     64 {
     65    return CK_TRUE;
     66 }
     67 
     68 static CK_VERSION
     69 builtins_mdToken_GetHardwareVersion(
     70    NSSCKMDToken *mdToken,
     71    NSSCKFWToken *fwToken,
     72    NSSCKMDInstance *mdInstance,
     73    NSSCKFWInstance *fwInstance)
     74 {
     75    return nss_builtins_HardwareVersion;
     76 }
     77 
     78 static CK_VERSION
     79 builtins_mdToken_GetFirmwareVersion(
     80    NSSCKMDToken *mdToken,
     81    NSSCKFWToken *fwToken,
     82    NSSCKMDInstance *mdInstance,
     83    NSSCKFWInstance *fwInstance)
     84 {
     85    return nss_builtins_FirmwareVersion;
     86 }
     87 
     88 static NSSCKMDSession *
     89 builtins_mdToken_OpenSession(
     90    NSSCKMDToken *mdToken,
     91    NSSCKFWToken *fwToken,
     92    NSSCKMDInstance *mdInstance,
     93    NSSCKFWInstance *fwInstance,
     94    NSSCKFWSession *fwSession,
     95    CK_BBOOL rw,
     96    CK_RV *pError)
     97 {
     98    return nss_builtins_CreateSession(fwSession, pError);
     99 }
    100 
    101 const NSSCKMDToken
    102    nss_builtins_mdToken = {
    103        (void *)NULL, /* etc */
    104        NULL,         /* Setup */
    105        NULL,         /* Invalidate */
    106        NULL,         /* InitToken -- default errs */
    107        builtins_mdToken_GetLabel,
    108        builtins_mdToken_GetManufacturerID,
    109        builtins_mdToken_GetModel,
    110        builtins_mdToken_GetSerialNumber,
    111        NULL, /* GetHasRNG -- default is false */
    112        builtins_mdToken_GetIsWriteProtected,
    113        NULL, /* GetLoginRequired -- default is false */
    114        NULL, /* GetUserPinInitialized -- default is false */
    115        NULL, /* GetRestoreKeyNotNeeded -- irrelevant */
    116        NULL, /* GetHasClockOnToken -- default is false */
    117        NULL, /* GetHasProtectedAuthenticationPath -- default is false */
    118        NULL, /* GetSupportsDualCryptoOperations -- default is false */
    119        NULL, /* GetMaxSessionCount -- default is CK_UNAVAILABLE_INFORMATION */
    120        NULL, /* GetMaxRwSessionCount -- default is CK_UNAVAILABLE_INFORMATION */
    121        NULL, /* GetMaxPinLen -- irrelevant */
    122        NULL, /* GetMinPinLen -- irrelevant */
    123        NULL, /* GetTotalPublicMemory -- default is CK_UNAVAILABLE_INFORMATION */
    124        NULL, /* GetFreePublicMemory -- default is CK_UNAVAILABLE_INFORMATION */
    125        NULL, /* GetTotalPrivateMemory -- default is CK_UNAVAILABLE_INFORMATION */
    126        NULL, /* GetFreePrivateMemory -- default is CK_UNAVAILABLE_INFORMATION */
    127        builtins_mdToken_GetHardwareVersion,
    128        builtins_mdToken_GetFirmwareVersion,
    129        NULL, /* GetUTCTime -- no clock */
    130        builtins_mdToken_OpenSession,
    131        NULL,        /* GetMechanismCount -- default is zero */
    132        NULL,        /* GetMechanismTypes -- irrelevant */
    133        NULL,        /* GetMechanism -- irrelevant */
    134        (void *)NULL /* null terminator */
    135    };