in source/portable/os/core_pkcs11_pal_utils.c [55:129]
void PAL_UTILS_LabelToFilenameHandle( const char * pcLabel,
const char ** pcFileName,
CK_OBJECT_HANDLE_PTR pHandle )
{
if( ( pcLabel != NULL ) && ( pHandle != NULL ) && ( pcFileName != NULL ) )
{
if( 0 == strncmp( pkcs11configLABEL_DEVICE_CERTIFICATE_FOR_TLS,
pcLabel,
sizeof( pkcs11configLABEL_DEVICE_CERTIFICATE_FOR_TLS ) ) )
{
*pcFileName = pkcs11palFILE_NAME_CLIENT_CERTIFICATE;
*pHandle = ( CK_OBJECT_HANDLE ) eAwsDeviceCertificate;
}
else if( 0 == strncmp( pkcs11configLABEL_DEVICE_PRIVATE_KEY_FOR_TLS,
pcLabel,
sizeof( pkcs11configLABEL_DEVICE_PRIVATE_KEY_FOR_TLS ) ) )
{
*pcFileName = pkcs11palFILE_NAME_KEY;
*pHandle = ( CK_OBJECT_HANDLE ) eAwsDevicePrivateKey;
}
else if( 0 == strncmp( pkcs11configLABEL_DEVICE_PUBLIC_KEY_FOR_TLS,
pcLabel,
sizeof( pkcs11configLABEL_DEVICE_PUBLIC_KEY_FOR_TLS ) ) )
{
*pcFileName = pkcs11palFILE_NAME_PUBLIC_KEY;
*pHandle = ( CK_OBJECT_HANDLE ) eAwsDevicePublicKey;
}
else if( 0 == strncmp( pkcs11configLABEL_CODE_VERIFICATION_KEY,
pcLabel,
sizeof( pkcs11configLABEL_CODE_VERIFICATION_KEY ) ) )
{
*pcFileName = pkcs11palFILE_CODE_SIGN_PUBLIC_KEY;
*pHandle = ( CK_OBJECT_HANDLE ) eAwsCodeSigningKey;
}
else if( 0 == strncmp( pkcs11configLABEL_HMAC_KEY,
pcLabel,
sizeof( pkcs11configLABEL_HMAC_KEY ) ) )
{
*pcFileName = pkcs11palFILE_HMAC_SECRET_KEY;
*pHandle = ( CK_OBJECT_HANDLE ) eAwsHMACSecretKey;
}
else if( 0 == strncmp( pkcs11configLABEL_CMAC_KEY,
pcLabel,
sizeof( pkcs11configLABEL_CMAC_KEY ) ) )
{
*pcFileName = pkcs11palFILE_CMAC_SECRET_KEY;
*pHandle = ( CK_OBJECT_HANDLE ) eAwsCMACSecretKey;
}
else if( 0 == strncmp( pkcs11configLABEL_CLAIM_CERTIFICATE,
pcLabel,
sizeof( pkcs11configLABEL_CLAIM_CERTIFICATE ) ) )
{
*pcFileName = pkcs11palFILE_NAME_CLAIM_CERTIFICATE;
*pHandle = ( CK_OBJECT_HANDLE ) eAwsClaimCertificate;
}
else if( 0 == strncmp( pkcs11configLABEL_CLAIM_PRIVATE_KEY,
pcLabel,
sizeof( pkcs11configLABEL_CLAIM_PRIVATE_KEY ) ) )
{
*pcFileName = pkcs11palFILE_NAME_CLAIM_KEY;
*pHandle = ( CK_OBJECT_HANDLE ) eAwsClaimPrivateKey;
}
else
{
*pcFileName = NULL;
*pHandle = ( CK_OBJECT_HANDLE ) eInvalidHandle;
}
LogDebug( ( "Converted %s to %s", pcLabel, *pcFileName ) );
}
else
{
LogError( ( "Could not convert label to filename. Received a NULL parameter." ) );
}
}