56 CRYPT_IKEYID_PGPKEYID, CRYPT_IKEYID_CERTID, CRYPT_IKEYID_ISSUERID,
57 CRYPT_IKEYID_ISSUERANDSERIALNUMBER,
61 CRYPT_IKEYID_PGPKEYID, CRYPT_IKEYID_CERTID, CRYPT_IKEYID_ISSUERID,
62 CRYPT_IKEYID_ISSUERANDSERIALNUMBER,
77 CRYPT_IKEYID_CERTID, CRYPT_IKEYID_ISSUERID,
256 { CRYPT_IKEYID_KEYID,
259 { CRYPT_IKEYID_PGPKEYID,
261 { CRYPT_IKEYID_CERTID,
263 { CRYPT_IKEYID_ISSUERID,
265 { CRYPT_IKEYID_ISSUERANDSERIALNUMBER,
290 const KEYMGMT_ACL *keyMgmtACL = &keyManagementACL[ i ];
299 keyMgmtACL->keysetR_subTypeC !=
ST_NONE )
301 DEBUG_DIAG((
"Key management ACLs inconsistent" ));
313 DEBUG_DIAG((
"Key management ACLs inconsistent" ));
325 DEBUG_DIAG((
"Key management ACLs inconsistent" ));
337 DEBUG_DIAG((
"Key management ACLs inconsistent" ));
348 DEBUG_DIAG((
"Key management ACLs inconsistent" ));
360 DEBUG_DIAG((
"Key management ACLs inconsistent" ));
371 ENSURES( j < FAILSAFE_ITERATIONS_SMALL );
384 DEBUG_DIAG((
"Key management ACLs inconsistent" ));
395 DEBUG_DIAG((
"Key management ACLs inconsistent" ));
415 DEBUG_DIAG((
"Key management supplementary ACLs inconsistent" ));
422 krnlData = krnlDataPtr;
442 int preDispatchCheckKeysetAccess(
IN_HANDLE const int objectHandle,
453 const int accessType = \
461 int paramObjectHandle, i;
477 for( i = 0; keyManagementACL[ i ].
itemType != messageValue && \
483 keymgmtACL = &keyManagementACL[ i ];
488 switch( localMessage )
520 if( mechanismInfo->auxInfo == NULL )
545 assert(
isReadPtr( mechanismInfo->auxInfo,
sizeof(
int ) ) );
568 mechanismInfo->
keyIDtype >= CRYPT_KEYID_LAST_EXTERNAL )
586 ENSURES( index < FAILSAFE_ITERATIONS_SMALL );
592 DEBUG_DIAG((
"Tried to retrieve object using inappropriate ID "
605 if( idTypeACL[ index ].idType == mechanismInfo->
keyIDtype )
607 idACL = &idTypeACL[
index ];
612 if( idACL == NULL || \
619 DEBUG_DIAG((
"Tried to retrieve object using inappropriate ID "
644 ( mechanismInfo->auxInfo == NULL || \
658 ( mechanismInfo->auxInfo != NULL || \
665 return( ( keymgmtACL->
idUseFlags & accessType ) ? \
689 assert( ( ( keymgmtACL->
idUseFlags & accessType ) && \
693 ( !( keymgmtACL->
idUseFlags & accessType ) && \
695 mechanismInfo->keyID == NULL && \
702 ( ( keymgmtACL->
pwUseFlags & accessType ) && \
705 ( !( keymgmtACL->
pwUseFlags & accessType ) && \
706 mechanismInfo->auxInfo == NULL && \
714 mechanismInfo->keyID != NULL && \
717 ( !( keymgmtACL->
idUseFlags & accessType ) && \
719 mechanismInfo->keyID == NULL && \
726 ( ( keymgmtACL->
pwUseFlags & accessType ) && \
727 mechanismInfo->auxInfo != NULL && \
730 ( !( keymgmtACL->
pwUseFlags & accessType ) && \
731 mechanismInfo->auxInfo == NULL && \
734 ( mechanismInfo->auxInfo != NULL && \
739 switch( localMessage )
757 subType =
objectST( paramObjectHandle );
801 subType =
objectST( paramObjectHandle );