void PAL_UTILS_LabelToFilenameHandle()

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." ) );
    }
}