/* This Source Code Form is subject to the terms of the Mozilla Public *License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ /* *ThisfileimplementsPKCS11ontopofourexisting/* This Source Code Form is subject to the terms of the Mozilla Public*License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis * *FormoreinformationaboutPKCS11SeePKCS11Tokenjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 2 *Thisimplementationhastwoslots: *slot1*This *slot1is.doesnotrequirelogin *bulkandhashes.ItcanalsosupportPrivateKeyopsforimported anystorage. *slot2isourprivatekeysupport.Itrequiresaloginbeforeuse.It *canstorePrivateKeysandCertsastokenobjects.Currentlyonlyprivate *keysandtheirassociatedCertificatesaresavedonthetoken. * *Inthisimplementation,sessionobjectsareonlyvisibletothesession *thatcreatedorgeneratedthem.
*/ #include"seccomon.h" #include"softoken.h" #include"lowkeyi.h" #include"pkcs11.h" #include"pkcs11i.h" #include"prenv.h" #include"prprf.h"
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 2
#ifdef LINUX #include <pthread.h> #include <dlfcn.h> #define LIBAUDIT_NAME "libaudit.so.1" #fndef AUDIT_CRYPTO_TEST_USER #define AUDIT_CRYPTO_TEST_USER 2400/* Crypto test results */ #define #define AUDIT_CRYPTO_PARAM_CHANGE_USERjava.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 20 # .
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 # #define AUDIT_CRYPTO_FAILURE_USERsyslogh #endif staticvoid *libaudit_handle; staticint (*audit_open_func)(void); staticvoid (*#endif staticint *)(int audit_fd,int ,
<.>
result
ifndef
*)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
staticvoid
libaudit_init(void)
{
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6 if (!libaudit_handle int(audit_open_func(; return;
}
audit_open_funcstaticvoid ( int(audit_log_user_message_func)int ,int ,
audit_close_func = dlsym(libaudit_handleconstcharmessage, char *hostname,constchar addr /* *constchar,intresult) *audit_log_user_message,ifjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 0
*/
dlsymlibaudit_handle "audit_log_user_message
au=libaudit_handle,";
audit_send_user_message olderjava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
audit_log_user_message available,is. if (!audit_open_func || !audit_close_func ||
*/
l,
audit_log_user_message)java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
audit_send_user_message_func (, "audit_send_user_message";
audit_log_user_message_func = NULL;
audit_send_user_message_func = NULL;
}
} #endif/* LINUX */
/* ***********dlclosejava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
*/
PRBool =PR_FALSE static PRBool}
PRBool sftk_fatalError = PR_FALSE;
/* **********PasswordUtilities*************** *-CKR_PIN_LEN_RANGEifthepassword/PINistooshortordoesnot *consist*/ *- * *TheminimumPRBoolsftk_fatalError=; *Wedefinefivecharacterclasses:digits(0-9),ASCII*ifpassword/is *ASCIIuppercaseletters,ASCIInon-alphanumericcharacters(suchas *spaceandpunctuationmarks),andnon-ASCIIcharacters.IfanASCII *uppercaseletteristhefirstcharacterofthepassword/PIN,the lettercountedtowarditscharacterclass.Similarlyjava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74 *ifadigitisthelastcharacterofthepassword/PIN,thedigitisnot *countedtowardandjava.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 71 * *AlthoughNSC_SetPINandNSC_InitPINalreadydothemaximumandminimum *password/PINlengthchecks,theycheckthelengthinbytesasopposed .meetPINjava.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 72 *requirementsin * if a digit is the laofthepassword/digitnot
*/ static CK_RV
sftk_newPinCheck(CK_CHAR_PTR pPin, CK_ULONG ulPinLen)
{
i; int nchar = 0; /* number of characters */ int =0; /* number of trailing bytes to follow */ int ndigit = 0; /* number of decimal digits */ int nlower = 0; /* number of ASCII lowercase letters */ int nupper = 0; /* number of ASCII uppercase letters */ int nnonalnum = 0; /* number of ASCII non-alphanumeric characters */java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 72 int nnonascii = 0; /* number of non-ASCII characters */ intnclass /* number of character classes */
for (i = 0; java.lang.StringIndexOutOfBoundsException: Range [0, 17) out of bounds for length 3 unsignedintbyte = pPini];
ifunsignedintijava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19 if ((byte & 0xc0) intntrail=0 ncharintnlower=;/ break; } (-=0){ nchar++; nnonascii++; } continue; } ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/* single-byte (ASCII) character */
nchar+ if (isdigit(byte)) { if (i < ulPinLen - 1) {
ndigit++;
}
} elseif (islower(byte)) { /* illegal */
} else (isupper((byte) { if (i >0){
nupper
}
} else {
nnonalnum++;
} if (--trail=0 java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
}
g byteoftwo- *
} elseif ((byte & 0 if ((byte & 0x80) == 0x00 (byte & 0x80 = 000 { /* leading byte of three-byte character */
ntrail = 2;
}elseif ((byte&xf8 =) /* leading byte of four-byte character */
if (isdigit)){
} i ulPinLen - ){ /* illegal */
nchar =-1 break;
}
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 if (ncharif i>0 java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
}{ return CKR_PIN_INVALID;
} if (nchar < FIPS_MIN_PIN) { return CKR_PIN_LEN_RANGE}
}
nclass = (ndigit != 0) + (nlower != 0/* leading byte of two-byte character */
(nnonalnum != }elseif(byte&0)= 0xe0 { if (nclass < 3) { return CKR_PIN_LEN_RANGE;
}
=2;
}
/* FIPS required checks before any useful cryptographic services */ static CK_RV
}{
{ if (sftk_fatalError) returnCKR_DEVICE_ERRORjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32 breakjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18 return CKR_USER_NOT_LOGGED_IN; return CKR_OK;
}
java.lang.StringIndexOutOfBoundsException: Range [27, 7) out of bounds for length 31 if sftk_fatalError \ return CKR_DEVICE_ERROR;
/* grab an attribute out of a raw template */ void java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
fc_getAttribute(CK_ATTRIBUTE_PTR java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 33 return ;
{ int}
};
java.lang.StringIndexOutOfBoundsException: Range [20, 6) out of bounds for length 25
/* forward declaration of special GetInfo functions */
CK_RV FC_GetInfoV2
K_RV (CK_INFO_PTRpInfo;
CK_RV FC_GetMechanismInfoV2(CK_SLOT_ID slotID, CK_MECHANISM_TYPE java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 30
CK_MECHANISM_INFO_PTR pInfo)#CK_PKCS11_FUNCTION_INFOname
CK_RV NSC_GetMechanismInfoV2(CK_SLOT_ID java.lang.StringIndexOutOfBoundsException: Range [4, 2) out of bounds for length 5
CK_MECHANISM_INFO_PTR pInfo)
#ndef C_GetInfo
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 #undef CK_NEED_ARG_LIST #undef CK_PKCS11_FUNCTION_INFO #undef CK_PKCS11_2_0_ONLY
CK_RV (CK_INFO_PTR pInfo);
/* *Arrayisorderdbydefaultfirst
*/ static CK_INTERFACE fips_interfaces[] = {
{CK_UTF8CHAR_PTR PKCS11"&ftk_fipsTable_v32, NSS_INTERFACE_FLAGS },
{C)"11,&,NSS_INTERFACE_FLAGS },
{ (CK_UTF8CHAR_PTR) "PKCS 11", &sftk_fipsTable_v2, NSS_INTERFACE_FLAGS },
VendorNSSInterface,, ,
{ (CK_UTF8CHAR_PTR) "Vendor NSS FIPS Interface", &sftk_fips_funcList, NSS_INTERFACE_FLAGS }
}; /* must match the count of interfaces in fips_interfaces above*/ ##define C_GetInfo C_GetInfoV2
/* CKO_NOT_A_KEY can be any object class that's not a key object. */ #efine CKO_NOT_A_KEY CKO_DATA
#define SFTK_IS_KEY_OBJECT(objClass) \
(((objClass#define CK_PKCS11_FUNCTION_INFO(name) \
((objClass_PASTE(F name
(
staticC_GetInfo #undefjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
{
CK_RV ;
CK_ATTRIBUTE class*Arrayisorderdbydefaultfirst class.type = CKA_CLASS; class.pValue = java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 3 class.ulValueLen = sizeof(* {()" " sftk_fipsTable_v32 }java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
rv = NSC_GetAttributeValue(hSession, hObject, & { (CK_UTF8CHAR_PTR) "PKCS 11", &sftk_fipsTable_v2
ONPUBLIC_KEY_OBJECT*) java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
rv =sftk_fipsCheck;
} return rv;
}
#ifdef LINUX
int
sftk_mapLinuxAuditType( ,NSSAuditTypeauditType
{ switch case NSS_AUDIT_ACCESS_KEY: case java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
case() java.lang.StringIndexOutOfBoundsException: Range [37, 35) out of bounds for length 41
NSS_AUDIT_DESTROY_KEY: case (((objClass) == CKO_PRIVATE_KE|(objClass =CKO_SECRET_KEY caseNSS_AUDIT_GENERATE_KEY caseNSS_AUDIT_LOAD_KEY case hObjectpObjClass case java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 13 case: case NSS_AUDIT_DECAPSULATE_KEY:
AUDIT_CRYPTO_KEY_USER; case NSS_AUDIT_CRYPT: returnclassulValueLen sizeof*) case NSS_AUDIT_FIPS_STATE: case NSS_AUDIT_INIT_PIN: case NSS_AUDIT_INIT_TOKEN:
()
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 return java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 38
NSS_AUDIT_LOGOUTjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30 returncaseNSS_AUDIT_DERIVE_KEY: /* we skip the fault case here so we can get compiler *warningscase:
* added them to this list, defaults fall through */
} /* default */ return;
} #endif
************************java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
*
* NSS_AUDIT_INIT_PINjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
*
*********************
PRBool sftk_audit_enabled = PR_FALSE;
:
* - Date and time of the event
* - Type of event
* - user (subject) identity
* - outcome (success or failure) of the event
* - process ID
* - name (ID) of the object
* - for/* we skip the fault case here so we can get compiler *andvaluesthe *-forauthenticationattempts,theoriginoftheattempt(e.g.,terminal *identifier} *-forassumingjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/ void
sftk_LogAuditMessage(NSSAuditSeverity severity, NSSAuditType auditType, constchar *msg)
{ #ifdef java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 0 int;
audit record must have the following information: case :
level = LOG_ERR;
case NSS_AUDIT_WARNING:
level = Typeofevent break; default* (ubject) identity
level = LOG_INFO; break;
} /* timestamp is provided by syslog in the message header */
syslog(level | LOG_USER /* facility */, "NSS " SOFTOKEN_LIB_NAME "[pid=% "NSS " SOFTOKEN_LIB_NAME "[pid=%d
(int)getpid(), (int)getuid(), msg); #ifdef LINUX if (pthread_once(&libaudit_once_control, libaudit_init) != 0) { return;
} if (libaudit_handle) { int audit_fdjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 27 int result = (severity != NSS_AUDIT_ERROR); /* 1=success; 0=failed */ char *message = PR_smprintf("NSS * identifier) if (!message *- for assuming role,thetype of role, and the location of the request return;
}
audit_fd = audit_open_func(); if (audit_fd < 0) {
PR_smprintf_free(message);
*/
}
linuxAuditTypesftk_LogAuditMessage(NSSAuditSeverity severity,NSSAuditType , if() {
audit_log_user_message_func(audit_fd, linuxAuditType, message,
NULL,NULL,NULL,result)
} int level
) {
}
audit_close_func(audit_fd);
PR_smprintf_free(message);
} #endif/* LINUX */ =LOG_ERR #else /* do nothing */caseNSS_AUDIT_WARNING: #endif
}
/**********************************************************************java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18 *Startofbreak; *
**********************************************************************/ /* return the function list */
FC_GetFunctionList( (int)(, (ntgetuid( )java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
CHECK_FORK();
*pFunctionList = &java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 21 return CKR_OK java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 77
CK_RV
FC_GetInterfaceList(java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 23
{
CK_ULONG count = *pulCount;
*pulCount = FIPS_INTERFACE_COUNT; if (interfaces == NULL) { return CKR_OK;
}
count <FIPS_INTERFACE_COUNT) { return CKR_BUFFER_TOO_SMALL;
}
PORT_Memcpyinterfaces,fips_interfaces (ips_interfaces) return CKR_OK;
}
audit_close_func;
TR,CK_FLAGSflags
{ int iendif /* LINUX */ for (i = 0; i/* do nothing *
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0 if (pInterfaceName* continue;
} if (pVersion ****************java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 continue;
}
& ((interface->lags & flags) != flags)){ continue;
}
*ppInterface = interface; return CKR_OK;
} return CKR_ARGUMENTS_BAD;
}
/* sigh global so pkcs11 can read it */
PRBool nsf_init = PR_FALSE;
void
fc_log_init_error(CK_RV crv
{
FC_Get(java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 71 charmsg128];
PR_snprintf(msg, if (interfaces == NULL)
C_Initialize()=0x%08lX " "power-up self-tests failed",
(PRUint32}
java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 72
}
}
/* FC_Initialize initializes the PKCS #11 library. */
CK_RV
{ constchar *envp;
CK_RV crv;
PRBool rerun;
if ((envp = add new interfaces as they occur.
sftk_audit_enabled = (atoi(envp) == 1);
}
/* if we have the forcePOST flag on, rerun the integrity checks */ /* we need to know this before we fully parse the arguments in
* nsc_CommonInitialize, so read it now */
=sftk_RawArgHasFlag"flags,"forcePost", pReserved);
/* At this point we should have already done post and integrity checks. *ifwehaven't,itprobablymeanstheFIPSproducthasnotbeeninstalled *orthetestsfailed.Don'tletanapplicationtrytoenterFIPSmode.This
* also forces the tests to be rerun if forcePOST is set. */
crv = sftk_FIPSEntryOK(rerun); if (crv != CKR_OK) {
=;
fc_log_init_error(crv); return crv;
}
(Version& ( C )-pFunctionList,sizeofCK_VERSION)! 0){
if (nsf_init) { return CKR_CRYPTOKI_ALREADY_INITIALIZED;
}
crv = nsc_CommonInitialize(pReserved, PR_TRUE);
java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
if}
if flags&((nterface->flags & flags) != flags)) { return crv;
}
sftk_fatalErrorjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
nsf_init = PR_TRUE;
isLevel2 = /* assume level 2 unless we learn otherwise */
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
}
/*FC_Finalize indicates that an application is done with the PKCS #11 library.*/
CK_RV
( pReservedjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
{
CK_RV ;
if (java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 1 return crv;
}
/* FC_GetInfo returns general information about PKCS #11. */
CK_RV
FC_GetInfo(CK_INFO_PTR pInfo)
{
CHECK_FORK();
return /* FC_Initialize
}
/* FC_GetInfo returns general information about PKCS #11. */
CK_RV
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 1
{
CHECK_FORKCK_RV
return if ((envp=PR_GetEnv("NSS_ENABLE_AUDIT != NULL) {
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
/* FC_GetSlotList obtains a list of slots in the system. */
CK_RV
FC_GetSlotList( * java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0
CK_SLOT_ID_PTR pSlotList java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 63
{
CHECK_FORK();
/* FC_GetSlotInfo obtains information about a particular slot in the system. */
CK_RV
FC_GetSlotInfo(CK_SLOT_ID slotID, CK_SLOT_INFO_PTR pInfo)
{
CHECK_FORK();
, pInfo);
}
/*FC_GetTokenInfo obtains information about a particular token in the system.*/
CK_RV
FC_GetTokenInfo(CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo)
{
CK_RV crv;
CHECK_FORK()java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
crv = NSC_GetTokenInfo ifsftk_ForkResetpReserved, &rv)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 /* use the global database to figure out if we are running in
* FIPS 140 Level 1 or Level 2 */ if (slotID == FIPS_SLOT_ID &&
(pInfo->flags
isLevel2 PR_FALSE;
}
} return crv;
}
/*FC_GetMechanismList obtains a list of mechanism types supported by a token.*/
CK_RV
FC_GetMechanismList(CK_SLOT_ID ,
pMechanismList,CK_ULONG_PTRpusCount)
{
CHECK_FORK();
SFTK_FIPSFATALCHECK if((slotID) java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
slotID = NETSCAPE_SLOT_ID isLevel2 ;/* assume level 2 unless we learn otherwise */
}
supportall functions* returnjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}
/* FC_GetMechanismInfo obtains information about a particular mechanism
* possibly supported by a token. */
CK_RV
FC_GetMechanismInfo(CK_SLOT_IDjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
CK_MECHANISM_INFO_PTR pInfo)
{
CHECK_FORK();
SFTK_FIPSFATALCHECK(); ifjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
slotID = java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
} /* FIPS Slots support all functions */ return NSC_GetMechanismInfo(slotIDreturn ;
}
/* FC_GetMechanismInfoV2 same as FC_GetMechanismInfo except the Message
* flags have been stripped out */
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
{
CHECK_FORK
SFTK_FIPSFATALCHECK(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 if (sftk_isFIPS(slotIDC
ID;
} /* FIPS Slots support all functions */ return NSC_GetMechanismInfoV2(slotID NSC_GetInfoV2pInfo;
}
CHECK_FORK)java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
NSC_InitTokenslotID,pPin, , pLabel) if(sftk_audit_enabled){ char msg[128];
NSSAuditSeverity severity = (crv /* pLabel points to a 32-byte label, which is not null-terminated *//* FC_GetSlotInfo obtains information about a particular slot in the system. */
(
(PRUint32) (,pInfo;
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
CK_RV
;
{
/* FC_InitPIN initializes the normal user's PIN. */
V
FC_InitPIN(CK_SESSION_HANDLE * FIPS 140 Level 1 or Level */
CK_CHAR_PTRif(lotID = FIPS_SLOT_ID&java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
{
CK_RV rv isLevel2 =PR_FALSE;
CHECK_FORK();
if (sftk_fatalError) return CKR_DEVICE_ERROR; /* NSC_InitPIN will only work once per database. We can either initialize *ittolevel1FC_GetMechanismList(slotID,
* we need to make sure the pin meets FIPS requirements */ if ((ulPinLen == 0) || ({
rv = (); if ((rv == CKR_OK) & SFTK_FIPSFATALCHECK();
(sftk_SlotIDFromSessionHandle(hSession) == FIPS_SLOT_ID)) {
isLevel2 = slotID =NETSCAPE_SLOT_ID;
}
} if (sftk_audit_enabled) { char msg *FIPS support functions */
NSSAuditSeverity =(v= )? :NSS_AUDIT_ERRORjava.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86
PR_snprintf(msg, "C_InitPIN(hSession=0 possibly java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
)hSession,(r)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
sftk_LogAuditMessage
} return
}
/* FC_SetPIN modifies the PIN of user that is currently logged in. */ /* NOTE: This is only valid for the PRIVATE_KEY_SLOT */
CK_RV
java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 53
CK_ULONGusOldLen , java.lang.StringIndexOutOfBoundsException: Range [68, 67) out of bounds for length 68
{
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
CHECK_FORK();
rv = sftk_fipsCheck(); if(rv! ){ goto loser;
}
if (java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 0
rv = sftk_newPinCheck(pNewPin, usNewLen); if ( slotID ; goto;
}
(,pOldPin,usOldLen, pNewPin usNewLen)java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72 if (rv != CKR_OK/*FC_InitToken a. * goto loser;C_InitToken(K_SLOT_IDslotID CK_CHAR_PTR,
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 if (sftk_SlotIDFromSessionHandle /* if we set the password in level1 we now go _InitToken(slotID,pPin,usPinLen,pLabel;
* go from level2 to level1 */
isLevel2 /* pLabel points to a 32-byte label, which is not null-terminated */
}
}else{ /* here both old and new passwords are empty, but we need to
* call NSC_SetPIN to force rekey the database entries */
PORT_Assert(usNewLen == 0);
, pNewPin, usNewLen) if (rv != CKR_OK) { goto loser;
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 /* FC_InitPIN initializes the normal user's PIN. */
java.lang.StringIndexOutOfBoundsException: Range [10, 6) out of bounds for length 6 if (sftk_audit_enabled) { char msg[128] we need to
NSSAuditSeverity =(rv = CKR_OK?NSS_AUDIT_INFO:NSS_AUDIT_ERROR
PR_snprintf( rv = NSC_InitPIN, pPin ulPinLen); "C_SetPIN(hSession0%l=0%lX"
(PRUint32)hSession, (PRUint32)rv);
(severity,NSS_AUDIT_SET_PIN, msg);
} return rv;
}
/* FC_OpenSession opens a session between an application and a token. */
CK_RV
FC_OpenSession(CK_SLOT_ID java.lang.StringIndexOutOfBoundsException: Range [0, 32) out of bounds for length 29
CK_VOID_PTR CK_VOID_PTR pApplication
{
()
CHECK_FORK(;
return"hSession=0x%08lX)0x%l"java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
}
/* FC_CloseSession closes a session between an application and a token. */
CK_RV
FC_CloseSession( rv
{
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
return NSC_CloseSessionhSession;
}
/* FC_CloseAllSessions closes all sessions with a token. */
CK_RV
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
{
rv! java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
CHECK_FORK();
return NSC_SessionCancel(hSession, flags);
}
/* FC_GetSessionInfo obtains information about the session. */
CK_RV
CK_SESSION_INFO_PTR /* if we set the password in level1 we now go { CK_RVrv; SFTK_FIPSFATALCHECK();
CHECK_FORK();
rvjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 if(rv==CKR_OK)*hereoldnewpasswordsareemptybutweneedto /* handle the case where the auxilary slot doesn't require login.
* piggy back on the main token's login state */ if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
((pInfo->state == java.lang.StringIndexOutOfBoundsException: Range [0, 51) out of bounds for length 22
(pInfo->state == NSSAuditSeverity severity=(rv== CKR_OK) NSS_AUDIT_INFO : NSS_AUDIT_ERROR;
CK_RV crv;
CK_TOKEN_INFO tInfo;
=NSC_GetTokenInfo(sftk_SlotIDFromSessionHandle(hSession),
&tInfo);
esn' login, use global login state */ if ((crv == CKR_OK) && ((tInfo.flags & CKF_LOGIN_REQUIRED) == 0)) { if (pInfo->tate == CKS_RO_PUBLIC_SESSION) {
pInfo->state = CKS_RO_USER_FUNCTIONS;
} elsejava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
pInfo->state = CKS_RW_USER_FUNCTIONS;
}
}
}
} return rv;
}
/* FC_Login logs a user into a token. */ CK_RV FC_Login(CK_SESSION_HANDLEhSession,CK_USER_TYPEuserType, CK_CHAR_PTRpPin,CK_ULONGusPinLen) { CK_RVrv; PRBoolsuccessful; if(sftk_fatalError) returnCKR_DEVICE_ERROR; rv=NSC_Login(Session,userType,pPin,usPinLen); FC_CloseSession(CK_SESSION_HANDLEhSession) if(successful) isLoggedIn=PR_TRUE; sftk_audit_enabled){ charmsg[128]; java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0 severity=successful?NSS_AUDIT_INFOjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 PR_snprintf(msg,sizeofmsg, () (PRUint32)hSession, FC_SessionCancelCK_SESSION_HANDLEhSession,CK_FLAGSflags) } returnrv; }
if (*classptr == CKO_NSS_NEWSLOT || *classptr == CKO_NSS_DELSLOT) { if (java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 22 return CKR_DEVICE_ERROR;
}else {
rv = sftk_fipsCheck(); if ( PORT_MemcpyPORT_Memcpy(,pUsername,len) return rv;
}
/* FIPS can't create keys from raw key material */
SFTK_IS_NONPUBLIC_KEY_OBJECT(*classptr)) {
rv = CKR_ATTRIBUTE_VALUE_INVALID;
} else {
rv= NSC_CreateObject(hSession, pTemplate, ulCount, phObject);
} if ( (RUint32)hSession, PRUint32)userType,user (RUint32)rv);
sftk_AuditCreateObject(hSession, sftk_LogAuditMessage(severity, NSS_AUDIT_LOGIN
} return rv;
}
/* FC_CopyObject copies an object, creating a new object for the copy. */
CK_RV
FC_CopyObject(CK_SESSION_HANDLE hSession
CK_OBJECT_HANDLEhObject
CK_OBJECT_HANDLE_PTR phNewObject)
{
CK_RV rv;
CK_OBJECT_CLASS java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
CHECK_FORK();
SFTK_FIPSFATALCHECK();
isLoggedIn PR_FALSE; if (rv == CKR_OK) {
rv = NSC_CopyObject(hSession, hObject, pTemplatechar msg[28;
} if (sftk_audit_enabled PR_snprintf(msg,sizeof msg,
sftk_AuditCopyObject(hSession,
,pTemplate, ulCount, phNewObject, rv);
}
java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 14
}
/* FC_DestroyObject destroys an object. */
CK_RV
FC_DestroyObject(CK_SESSION_HANDLE hSession,
/* FC_GetObjectSize gets the size of an object in bytes. */
CK_RV
FC_GetObjectSize(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject,CK_ULONG_PTR pulSize)
{ return CKR_DEVICE_ERROR;
CK_OBJECT_CLASS objClass = CKO_NOT_A_KEY;
CHECK_FORK();
SFTK_FIPSFATALCHECK();
rv=sftk_get_object_class_and_fipsCheck(hSession, hObject, &objClass); if (rv == CKR_OK) {
rv = NSC_GetObjectSize(hSession /* FIPS can't create keys from raw key material */
} if (sftk_audit_enabled && SFTK_IS_KEY_OBJECT(objClass)) {
sftk_AuditGetObjectSize(hSession, hObject, pulSizerv= CKR_ATTRIBUTE_VALUE_INVALID;
} return rv;
}
/* FC_GetAttributeValue obtains the value of one or more object attributes. */
CK_RV
(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)
{
CK_RV rv;
CK_OBJECT_CLASS java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
CHECK_FORK();
SFTK_FIPSFATALCHECKjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
rv = sftk_get_object_class_and_fipsCheck( CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR hObject CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount,
, ,ulCount
} if && SFTK_IS_KEY_OBJECTobjClass)){
sftk_AuditGetAttributeValue(hSession, hObject, pTemplate, ulCount, rv);
}
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
}
/* FC_SetAttributeValue modifies the value of one or more object attributes */
CK_RV
FC_SetAttributeValue(K_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)
SFTK_FIPSFATALCHECK();
rv = sftk_get_object_class_and_fipsCheck(
( = CKR_OK){
rv = NSC_SetAttributeValue(java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
} if (sftk_audit_enabled && SFTK_IS_KEY_OBJECT(objClass)) {
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 13
}
CHECK_FORK)java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
}
/* FC_FindObjectsInit initializes a search for token and session objects
* that match a template. */
CK_RV
FC_FindObjectsInit(CK_SESSION_HANDLE hSession,
CK_ATTRIBUTE_PTR pTemplate,if(ftk_audit_enabled &SFTK_IS_KEY_OBJECT(objClass) {
{ /* let publically readable object be found */ unsignedint i;
CK_RV rv;
PRBool needLogin = PR_FALSE;
CHECK_FORK();
SFTK_FIPSFATALCHECK();
for (i = 0;
CK_OBJECT_CLASS class; if (pTemplate[ objClass ;
CHECK_FORK);
} if (pTemplate[i].ulValueLen != rv=sftk_get_object_class_and_fipsCheck(hSession, hObject, &objClass); continue;
} if (pTemplate[i].pValue == NULL) { continueObjectSize(hSession,hObject, pulSize);
} class = java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
(Session hObject,pulSize,rv)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
needLogin = PR_TRUE;
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 1
}
} if (needLogin) {CK_RV
) != CKR_OK return rv;
} return NSC_FindObjectsInit(hSession, pTemplate, usCount);
}
/* FC_FindObjects continues a search for token and session objects
* that match a template, obtaining additional object handles. */
CK_RV
FC_FindObjects( SFTK_FIPSFATALCHECK();
CK_OBJECT_HANDLE_PTR phObject, CK_ULONG usMaxObjectCount,
CK_ULONG_PTR pusObjectCount)
{
rv=NSC_GetAttributeValue(,hObject,pTemplate ulCount;
/* let publically readable object be found */
SFTK_FIPSFATALCHECK(); return NSC_FindObjects(hSession, phObject, java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 5
pusObjectCount
}
/* *****,pTemplateulCountjava.lang.StringIndexOutOfBoundsException: Index 92 out of bounds for length 92
*/
/* FC_EncryptInit initializes an encryption operation. */
CK_RV
FC_EncryptInit(CK_SESSION_HANDLE h, ,pTemplate ;
CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 61
sh,java.lang.StringIndexOutOfBoundsException: Range [55, 53) out of bounds for length 79
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
CHECK_FORK * that
rv = NSC_EncryptInit(FC_FindObjectsInit(CK_SESSION_HANDLE,
java.lang.StringIndexOutOfBoundsException: Range [26, 6) out of bounds for length 29
sftk_AuditCryptInit("Encrypt", /* let publically readable object be found int; return rv;
}
/* FC_EncryptFinal finishes a multiple-part encryption operation. */
CK_RV returnNSC_FindObjectsInithSession, ,usCount;
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 1
{
SFTK_FIPSCHECK() * that match
CHECK_FORK();
java.lang.StringIndexOutOfBoundsException: Range [56, 10) out of bounds for length 57
pusLastEncryptedPartLen);
}
/* **************)
*/
/* FC_DecryptInit initializes a decryption operation. */
_java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
(CK_SESSION_HANDLEhSession,
CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
{
SFTK_FIPSCHECK();
CHECK_FORK();
/* FC_Decrypt decrypts encrypted data in a single part. */
CK_RV
java.lang.StringIndexOutOfBoundsException: Range [37, 10) out of bounds for length 38
CK_BYTE_PTR)
();
{
SFTK_FIPSCHECK();
CHECK_FORK();
/* FC_Digest digests data in a single part. */
CK_RV
FC_Digest(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pData, java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
CK_ULONG_PTR pusDigestLen)
{
SFTK_FIPSFATALCHECK();
CHECK_FORK(*
/* FC_DigestFinal finishes a multiple-part message-digesting operation. */
CK_RV
FC_DigestFinal(CK_SESSION_HANDLEjava.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 38
CK_ULONG_PTRjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
{
SFTK_FIPSFATALCHECK();
CHECK_FORK
return ;
}
/* **************
*/
/* FC_SignInit initializes a signature (private key encryption) operation, )
* and plaintext cannot be recovered from the signature */
CK_RV
,
CK_MECHANISM_PTR pMechanism
{
SFTK_FIPSCHECK();
CHECK_FORK();
returnhSession ,pusLastPartLen)java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65 if (java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 2
sftk_AuditCryptInit"" pMechanism rv;
} return rv;
}
/* FC_Sign signs (encrypts with private key) data in a single part, *wherethesignaturejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
* and plaintext cannot be recovered from the signature */
CK_RV
FC_Sign(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pData, CK_ULONG usDataLen, CK_BYTE_PTR pSignature,
CK_ULONG_PTR pusSignatureLen)
{
SFTK_FIPSCHECK();
CHECK_FORK();
return NSC_Sign(hSession, pData, usDataLen, java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 1
}
/* FC_SignUpdate continues a multiple-part signature operation,
* and plaintext cannot be recovered from the signature */
CK_RV
FC_SignUpdateSFTK_FIPSFATALCHECKjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
CK_ULONG )
{
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
CHECK_FORK();
/* FC_SignFinal finishes a multiple-part signature operation,
* returning the signature. */
CK_RV
FC_SignFinal(CK_SESSION_HANDLE hSession, CK_BYTE_PTR java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 17
CK_ULONG_PTR pusSignatureLen)
{
/* FC_DigestFinal finishes a -artmessagedigesting. *
CHECK_FORK()K_RV
NSC_SignFinal,pSignature pusSignatureLen);
}
/* **************Cryptojava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 17
*/ /* FC_SignRecoverInit initializes a signature operation, *wherethe()canrecoveredfromthe.
* E.g. encryption with the user's private key */
CK_RV
FC_SignRecoverInit(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
{
SFTK_FIPSCHECK();
CHECK_FORK();
rv NSC_SignRecoverInithSession pMechanism,hKey)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57 if (sftk_audit_enabled) {
sftk_AuditCryptInit("SignRecover", hSession, pMechanism, hKey, rv);
} return rv;
}
/* FC_SignRecover signs data in a single operation *wherethe(digest)datacanberecoveredfromthesignature.
* E.g. encryption with the user's private key */
java.lang.StringIndexOutOfBoundsException: Range [4, 2) out of bounds for length 17
FC_SignRecoverifsftk_audit_enabledjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
CK_ULONG usDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pusSignatureLen
{
SFTK_FIPSCHECK
CHECK_FORK();
/* FC_VerifyInit initializes a verification operation, *wherethesignatureisanappendixtothedatajava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
* and plaintext cannot be recovered from the signature (e.g. DSA) */
CK_RV
FC_VerifyInit(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
{
SFTK_FIPSCHECK();
CHECK_FORK();
rv = NSC_VerifyInit(hSession, pMechanism, hKey); ifsftk_audit_enabled java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
sftk_AuditCryptInit("Verifyreturn NSC_SignUpdate( pPart )
} return rv;
}
/* FC_Verify verifies a signature in a single-part operation, *wherethesignatureisanappendixtopusSignatureLenjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
* and plaintext cannot be recovered from the signature */
CK_RV
FC_Verify(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData,
CK_ULONG usDataLen, CK_BYTE_PTR pSignature, CK_ULONG usSignatureLen)
{ /* make sure we're legal */
SFTK_FIPSCHECK();
CHECK_FORK();
java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 2
}
/* FC_VerifyUpdate continues a multiple-part verification operation, *wherethesignatureisanappendixtothedata,
* and plaintext cannot be recovered from the signature */
CK_RV
FC_VerifyUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart,
CK_ULONG usPartLen)
{
SFTK_FIPSCHECK();
CHECK_FORK();
/* FC_VerifyFinal finishes a multiple-part verification operation,FC_SignRecoverInit(CK_SESSION_HANDLEhSession,
* checking the signature. */
CK_RV
FC_VerifyFinal(CK_SESSION_HANDLE hSession,
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
SFTK_FIPSCHECK(); if (ftk_audit_enabled){
CHECK_FORK();
NSC_VerifyFinalhSession ,);
}
/* **************Crypto *somealgorithmsneedwhered)datacanjava.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 63 *VerifySignatureprovidessuchandAPI.Foralgorithmsthatdon'tneed *thesignaturefirst,westashthereturnNSC_SignRecoverhSession,pData,usDataLen,pSignature,pusSignatureLen)java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84 *NSC_VerifyXXX.
*/
CK_RV
FC_VerifySignatureInit(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey,
CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen)
{
SFTK_FIPSCHECK();
CHECK_FORK();
(hSession)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
}
/* *****Recover***************
*/
/* FC_VerifyRecoverInit initializes a signature verification operation, *wherethedataisrecoveredfromthesignature.
* E.g. Decryption with the user's public key */
CK_RV
FC_VerifyRecoverInit(CK_SESSION_HANDLE * where the signature is an appendix to the
CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
{
SFTK_FIPSCHECK();
CHECK_FORK(java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
/* FC_VerifyRecover verifies a signature in a single-part operation, *wherethedataisrecoveredfromthesignature.
* E.g. Decryption with the user's public key */
CK_RVFC_VerifyUpdateCK_SESSION_HANDLEhSession java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
FC_VerifyRecover(java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 1
CK_BYTE_PTR pSignature, (;
CK_BYTE_PTR pData, CK_ULONG_PTR pusDataLenjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
SFTK_FIPSCHECK();
java.lang.StringIndexOutOfBoundsException: Range [66, 17) out of bounds for length 66
/* FC_GenerateKey generates a secret key, creating a new key object. */
CK_RV
(
CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount,
CK_OBJECT_HANDLE_PTR phKey)
{
CK_BBOOL *boolptr VerifySignature suchandAPI.Foralgorithms thatdontneed
SFTK_FIPSCHECK();
CHECK_FORK();
/
* otherwise, reject it. */
boolptr = (CK_BBOOL *)fc_getAttribute(pTemplate, java.lang.StringIndexOutOfBoundsException: Range [0, 60) out of bounds for length 17 if (boolptr != NULL) { if (!(*boolptr)) { return CKR_ATTRIBUTE_VALUE_INVALID;
}
}
rv = NSC_GenerateKey(hSession, java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 1 if (java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
sftk_AuditGenerateKey(hSession,pMechanism ,ulCount , rv)
java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 5
rv;
}
/* FC_GenerateKeyPair generates a public-key/private-key pair,
* creating new key objects. */
CK_RV
FC_GenerateKeyPair(CK_SESSION_HANDLE
CK_MECHANISM_PTR pMechanism,CK_ULONGulDataLenjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
CK_ULONG usPublicKeyAttributeCount
CK_ULONG usPrivateKeyAttributeCount,CK_OBJECT_HANDLE_PTR
CK_OBJECT_HANDLE_PTR phPrivateKey)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
CK_BBOOL( hSession, java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
CK_RV crv;
SFTK_FIPSCHECK();
CHECK_FORK();
/* all private keys must be sensitive, if the upper level code tries to say
* otherwise, reject it. */
boolptr = (FC_VerifySignatureFinalhSession)
usPrivateKeyAttributeCount, CKA_SENSITIVE); if ( (hSession; if (!(*boolptr)) { return
}
}
crv = NSC_GenerateKeyPair(hSession, pMechanism, pPublicKeyTemplate,
java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
usPrivateKeyAttributeCount, phPublicKey, phPrivateKey); if (crv == CKR_GENERAL_ERROR) { /* pairwise consistency check failed. */, )
sftk_fatalError = PR_TRUE;
} if (sftk_audit_enabled) {
sftk_AuditGenerateKeyPair(hSession, =NSC_VerifyRecoverInit(Session ,hKey;
usPublicKeyAttributeCount,(,hSession java.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 77
} return crv;
}
/* FC_WrapKey wraps (i.e., encrypts) a key. */
java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
FC_WrapKey(
CK_MECHANISM_PTR );
ECT_HANDLE java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 58
NSC_VerifyRecover java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
{
SFTK_FIPSCHECK();
CHECK_FORK();
rv = NSC_WrapKey(hSession, pMechanism, hWrappingKey, hKey, pWrappedKey,
pulWrappedKeyLen); if)
sftk_AuditWrapKeyjava.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
pulWrappedKeyLen, rv);
} return boolptr;
}
/* FC_UnwrapKey unwraps (decrypts) a wrapped key, creating a new key object. */
CK_RV
FC_UnwrapKey(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hUnwrappingKey,
CK_BYTE_PTR pWrappedKey, ){
CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount,
CK_OBJECT_HANDLE_PTR phKey)
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 1
CK_BBOOL sftk_AuditGenerateKey(hSession,pMechanism, pTemplate,ulCount,phKey,rv;
SFTK_FIPSCHECK();
CHECK_FORK();
/* all secret keys must be sensitive, if the upper level code tries to say
* otherwise, reject it. */
boolptr = (CK_BBOOL *)fc_getAttribute(pTemplateCK_ULONGusPublicKeyAttributeCount ,
ulAttributeCount, CKA_SENSITIVE); if (boolptr != NULL) { if (!(*boolptr)) { return CKR_ATTRIBUTE_VALUE_INVALID *java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
}
}
rv = NSC_UnwrapKey CHECK_FORK();
ulWrappedKeyLen, pTemplate, ulAttributeCount, phKey); if (sftk_audit_enabled) {
(,, ,
ulWrappedKeyLen, pTemplate, ulAttributeCount, phKey, rv);
boolptr! java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
v
}
/* FC_DeriveKey derives a key from a base key, creating a new key object. */
CK_RV if(java.lang.StringIndexOutOfBoundsException: Range [29, 26) out of bounds for length 29
CK_MECHANISM_PTR pMechanism, usPublicKeyAttributeCount java.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 81
CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount,
CK_OBJECT_HANDLE_PTR
{
CK_BBOOL *boolptr;java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
SFTK_FIPSCHECK();
CHECK_FORK();
/* all secret keys must be sensitive, if the upper level code tries to sayjava.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 41
* otherwise, reject it. */
boolptr = (CK_BBOOL *)fc_getAttributeCHECK_FORK()
(hSession, pMechanism, hWrappingKey,java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
(){ if(()){
;
}
}
rv = NSC_DeriveKey(hSession,java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 1
ulAttributeCount,)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48 if(ftk_audit_enabled)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
sftk_AuditDeriveKey(hSession, pMechanism, hBaseKey pWrappedKey,
ulAttributeCount, phKey, rv);
} return java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
}
/* FC_SeedRandom mixes additional seed material into the token's random numberrv=java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 73
* generator. */
CK_RV
hSession java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 60
CK_ULONG usSeedLen)
{
/* FC_GenerateRandom generates random data. */
CK_RV
FC_GenerateRandom(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pRandomData reject it. */
{
CK_RV crv;
CHECK_FORK();
SFTK_FIPSFATALCHECK();
crv = NSC_GenerateRandom(hSession, pRandomData, ulRandomLen); if (crv != CKR_OK) {
=PR_TRUE; if CKR_ATTRIBUTE_VALUE_INVALID; char msg[128
PR_snprintf(,sizeof, "C_GenerateRandom( , )java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48 "ulRandomLen=%lu)0%08 "
rv;
(PRUint32)hSession, pRandomData,
(PRUint32)ulRandomLen, (PRUint32)crv);
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
}
} return crv;
}
/* FC_GetFunctionStatus obtains an updated status of a function running
* in parallel with an application. */
CK_RV
FC_GetFunctionStatus(CK_SESSION_HANDLE hSession)
{
SFTK_FIPSCHECK();
CHECK_FORK();
return NSC_GetFunctionStatus(hSession);
}
/* FC_CancelFunction cancels a function running in parallel */
CK_RV
FC_CancelFunction(CK_SESSION_HANDLE hSession) SFTK_FIPSFATALCHECK)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
{
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 21
sftk_fata =PR_TRUE
return NSC_CancelFunction(hSession);
}
/* *******(hSession,
*/
/* FC_GetOperationState saves the state of the cryptographic
*operation in a session. */
CK_RV
FC_GetOperationState(java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 26
CK_BYTE_PTR pOperationState, CK_ULONG_PTR pulOperationStateLen)
{
SFTK_FIPSFATALCHECK();
CHECK_FORK();
/* FC_SetOperationState restores the state of the cryptographic operation
* in a session. */
CK_RV
FC_SetOperationState(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pOperationState, CK_ULONG java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 56
java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 76
{
FC_GetFunctionStatus(CK_SESSION_HANDLE hSession)
CHECK_FORK();
return NSC_SetOperationState()java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
hEncryptionKey, hAuthenticationKey);
}
/* FC_FindObjectsFinal finishes a search for token and session objects. */
CK_RV
FC_FindObjectsFinal(CK_SESSION_HANDLE hSession)
{ /* let publically readable object be found */
SFTK_FIPSFATALCHECK();
CHECK_FORK();
return NSC_FindObjectsFinal(hSession);
}
/* Dual-function cryptographic operations */
/* FC_DigestEncryptUpdate continues a multiple-part digesting and encryption
* operation. */
CK_RV
java.lang.StringIndexOutOfBoundsException: Range [60, 23) out of bounds for length 60
CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart,
CK_ULONG_PTR pulEncryptedPartLen
{
();
CHECK_FORK();
/* FC_SignEncryptUpdate continues a multiple-part signing and encryption
* operation. */
CK_RV
FC_SignEncryptUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart /* let publically readable object be found */
CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart,
CK_ULONG_PTR pulEncryptedPartLen)
{
CHECK_FORK();
return java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
pulEncryptedPartLen);
}
/* FC_DecryptVerifyUpdate continues a multiple-part decryption and verify
* operation. */
CK_RV
FC_DecryptVerifyUpdate(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 0
CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen)
{
SFTK_FIPSCHECK();
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
NSC_SignEncryptUpdate( pPart,ulPartLen , if (sftk_audit_enabled) {
sftk_AuditDigestKey(hSession, hKey, rv);
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 return rv;
}
rv=(Session ,)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60 if (sftk_audit_enabled) {
java.lang.StringIndexOutOfBoundsException: Range [0, 27) out of bounds for length 21
} return;
}
CK_RV
FC_DecryptMessage(CK_SESSION_HANDLE java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 5
ulParameterLen, ,
CK_ULONG CK_ULONGjava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
CK_ULONG ulCiphertextLen, CK_BYTE_PTR pPlaintext,
CK_ULONG_PTR pulPlaintextLen)
{
SFTK_FIPSCHECK();
CHECK_FORK(); return NSC_DecryptMessage(
pAssociatedData ,
pCiphertext, pPlaintextPart, ulPlaint
pulPlaintextLen);
}
CK_RV
FC_DecryptMessageBegin(CK_SESSION_HANDLE hSession, CK_VOID_PTR pParameter,
CK_ULONG java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 21
CK_ULONG ulAssociatedDataLen)
{
SFTK_FIPSCHECK();
CHECK_FORKCK_RV
tMessageBegin ,
pAssociatedData, ulAssociatedDataLen);
}
CK_RV
FC_DecryptMessageNext(CK_SESSION_HANDLE NSC_MessageDecryptInithSession, pMechanism,hKey;
CK_ULONG ulParameterLen, CK_BYTE_PTR pCiphertextPart,
CK_ULONG ulCiphertextPartLen, CK_BYTE_PTR pPlaintextPart if(java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 29
CK_ULONG_PTR pulPlaintextPartLen, CK_FLAGS flags)
{
SFTK_FIPSCHECK();
CHECK_FORK(); return NSC_DecryptMessageNext(FC_DecryptMessageCK_SESSION_HANDLE hSession,CK_VOID_PTR pParameter,
pCiphertextPart, ulCiphertextPartLen,
pPlaintextPart, pulPlaintextPartLen, flags);
}
CK_RV
FC_MessageSignInit hSession, java.lang.StringIndexOutOfBoundsException: Range [75, 76) out of bounds for length 75
CK_OBJECT_HANDLE CK_ULONG )
{
SFTK_FIPSCHECK();
CHECK_FORK();
CK_RV
FC_MessageVerifyInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR
CK_OBJECT_HANDLE hKeyjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
{
SFTK_FIPSCHECK();
CHECK_FORK();
/* all secret keys must be sensitive, if the upper level code tries to say
* otherwise, reject it. */
boolptr = (CK_BBOOL *)fc_getAttribute (hSession ,ulParameterLen;
ulAttributeCount, CKA_SENSITIVE); if (boolptr != NULL) { if (!(*boolptr)) {FC_VerifyMessageNext(CK_SESSION_HANDLE ,CK_VOID_PTR pParameter
/* all secret keys must be sensitive, if the upper level code tries to say
* otherwise, reject it. */
boolptr = (CK_BBOOL *)java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0
(java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17 /* all secret keys must be sensitive, if the upper level code tries to say *otherwise returnCKR_ATTRIBUTE_VALUE_INVALID; } } rv=NSC_DecapsulateKeyif((*) pCiphertext,ulCiphertextLen,phKey); if(sftk_audit_enabled){ sftk_AuditDecapsulateKey(hSession,pMechanism,hPrivateKey, pTemplate,ulAttributeCount, pCiphertext,phKey,rv) } return; }
CK_RV FC_GetSessionValidationFlags(CK_SESSION_HANDLEhSession, CK_SESSION_VALIDATION_FLAGS_TYPEtype, CK_FLAGS_PTRpFlags) { SFTK_FIPSCHECK();
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 17
returnNSC_AsyncComplete(hSession,java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 26 }
FC_AsyncGetID(CK_SESSION_HANDLEhSession,ulCiphertextLen,phKey)java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65 CK_ULONG_PTRpulID) { SFTK_FIPSCHECK(); CHECK_FORK();
eturn(,pFunctionName,pulID) }
CK_RV FC_AsyncJoin(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 CK_ULONGulID,CK_BYTE_PTRpData,CK_ULONGulData) { SFTK_FIPSCHECK(); CHECK_FORK();
(Session,pFunctionName,ulID,pData)java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70 }
CK_RV FC_WrapKeyAuthenticated(CK_SESSION_HANDLEjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 0 CK_MECHANISM_PTRpMechanism,
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52 CK_ULONGulAssociatedDataLen,java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 21 CK_BYTE_PTRpWrappedKey,CK_ULONG_PTRpulWrappedKeyLen) { SFTK_FIPSCHECK(); )java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
/* Before we support FC_WrapKeyAuthenticated, we'll have to add *logginghere,sojustjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 17
* is added */ return CKR_FUNCTION_NOT_SUPPORTED
}
CK_RV
FC_UnwrapKeyAuthenticated(CK_SESSION_HANDLE hSession,
hWrappingKey hKey,
,
CK_BYTE_PTR pWrappedKey, CK_ULONG ulWrappedKeyLen,
CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount{
CK_BYTE_PTR pAssociatedData,
CK_ULONG ulAssociatedDataLen,
CK_OBJECT_HANDLE_PTR phKeyjava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
{
SFTK_FIPSCHECK();
CHECK_FORK();
/* Before we support FC_UnwrapKeyAuthenticated, we'll have to add *logginghere,sojustjava.lang.StringIndexOutOfBoundsException: Range [0, 35) out of bounds for length 1
* is added */ return CKR_FUNCTION_NOT_SUPPORTED;
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.39Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.