예제 #1
0
int masp_ccci_signfmt_verify_file(char *file_path, unsigned int *data_offset, unsigned int *data_sec_len)
{
    unsigned int ret = SEC_OK; 
    SEC_IMG_HEADER img_hdr;

    *data_offset = 0;
    *data_sec_len = 0;

    ret = sec_signfmt_verify_file(file_path, &img_hdr, data_offset, data_sec_len);

    /* image is not signed */
    if( ret == ERR_SIGN_FORMAT_MAGIC_WRONG )
    {
        if((sec_modem_auth_enabled() == 0) && (sec_schip_enabled() == 0)) 
        {
            SMSG(true,"[%s] image has no sec header\n",MOD);
			ret = SEC_OK;
			goto _out;
		}
		else 
        {
            SMSG(true,"[%s] (img not signed) sec_modem_auth_enabled() = %d\n",MOD,sec_modem_auth_enabled());
            SMSG(true,"[%s] (img not signed) sec_schip_enabled() = %d\n",MOD,sec_schip_enabled());
			ret = ERR_SIGN_FORMAT_MAGIC_WRONG;
			goto _out;
		}
    }

    if( ret != SEC_OK )
    {
        SMSG(true,"[%s] file '%s' verify failed\n",MOD,file_path);
        goto _out;
    }

    SMSG(true,"[%s] data_offset is %d\n",MOD,*data_offset);
    SMSG(true,"[%s] data_sec_len is %d\n",MOD,*data_sec_len);

_out:
    
    return ret;
}
예제 #2
0
void sec_update_lks(unsigned char tr, unsigned char dn, unsigned char fb_ulk)
{
    if(fb_ulk)//FB
    {
        lks = 0;
    }
    else if(sec_schip_enabled())//SC
    {
        lks = 1;
    }
    else if(!sec_boot_enabled())//NSC
    {
        lks = 0;
    }
    else if(0 == tr && 2 == dn)//SWSEC
    {
        lks = 0;
    }
    else//SWSEC
    {
        lks = 1;
    }
}
예제 #3
0
파일: mz_private.c 프로젝트: SelfImp/m75
static int sec_proc_show(struct seq_file *m, void *v)
{
	seq_printf(m, "%d\n", sec_schip_enabled());
	return 0;
}