static BOOL DigiCrypt_GetDataFromCert(PCCERT_CONTEXT pCertContext) { BOOL fRes = FALSE; char sContainer[dNAME_ITEM_LEN+1]; //DWORD dwLen; if (pCertContext == NULL) return(fRes); fRes = DigiCrypt_GetCSPFromCert(pCertContext, oG_sCSPName,dSTRING_ITEM_LEN); if (fRes == TRUE) { // DigiCrypt_GetDefaultKeyContainerNameSimple(oG_sCSPName); //this is not usable. Tarmo changed that! Instead we should use the following: if (DigiCrypt_GetContainerFromCert(pCertContext, sContainer, dNAME_ITEM_LEN) == TRUE) { lstrcpy(oG_sKeyContainerName,sContainer); } } //CertGetNameString(pCertContext,CERT_NAME_SIMPLE_DISPLAY_TYPE,CERT_NAME_ISSUER_FLAG,NULL,sTemp,dSTRING_ITEM_LEN); //CertGetNameString(pCertContext,CERT_NAME_ATTR_TYPE,CERT_NAME_ISSUER_FLAG,szOID_COMMON_NAME,sTemp,dSTRING_ITEM_LEN); //CertGetNameString(pCertContext,CERT_NAME_ATTR_TYPE,CERT_NAME_ISSUER_FLAG,szOID_SUR_NAME,sTemp,dSTRING_ITEM_LEN); //CertGetNameString(pCertContext,CERT_NAME_ATTR_TYPE,CERT_NAME_ISSUER_FLAG,szOID_ORGANIZATIONAL_UNIT_NAME,sTemp,dSTRING_ITEM_LEN); return(fRes); }
static BOOL DigiCrypt_GetDataFromCert(PCCERT_CONTEXT pCertContext) { BOOL fRes = FALSE; char sContainer[dNAME_ITEM_LEN+1]; //DWORD dwLen; if (pCertContext == NULL) return(fRes); fRes = DigiCrypt_GetCSPFromCert(pCertContext, oG_sCSPName,dSTRING_ITEM_LEN); if (fRes == TRUE) { // DigiCrypt_GetDefaultKeyContainerNameSimple(oG_sCSPName); //this is not usable. Tarmo changed that! Instead we should use the following: if (DigiCrypt_GetContainerFromCert(pCertContext, sContainer, dNAME_ITEM_LEN) == TRUE) { strncpy(oG_sKeyContainerName, sContainer, sizeof(oG_sKeyContainerName)); } } return(fRes); }
static BOOL RunDlg_FillItem(PCCERT_CONTEXT pCertContext, char *psRes) { char sTemp[dSTRING_ITEM_LEN+1]; SYSTEMTIME oT; PCERT_INFO pCertInfo; BOOL fRes = TRUE; *psRes = 0; if (pCertContext == NULL || pCertContext->pCertInfo == NULL || psRes == NULL) return(FALSE); pCertInfo = pCertContext->pCertInfo; CertGetNameString(pCertContext,CERT_NAME_SIMPLE_DISPLAY_TYPE,CERT_NAME_ISSUER_FLAG,NULL,sTemp,dSTRING_ITEM_LEN); if (lstrlen(sTemp) > 0) { lstrcat(psRes,sTemp); lstrcat(psRes," \t"); } CertGetNameString(pCertContext,CERT_NAME_SIMPLE_DISPLAY_TYPE,0,NULL,sTemp,dSTRING_ITEM_LEN); //CorrectCharacters(sTemp); if (lstrlen(sTemp) > 0) { lstrcat(psRes,sTemp); lstrcat(psRes," \t"); } if (FileTimeToSystemTime(&pCertInfo->NotBefore,&oT) == TRUE) { sprintf(sTemp,"%02d/%02d/%02d \t",oT.wYear,oT.wMonth,oT.wDay); lstrcat(psRes,sTemp); } else fRes = FALSE; if (FileTimeToSystemTime(&pCertInfo->NotAfter,&oT) == TRUE) { sprintf(sTemp,"%02d/%02d/%02d \t",oT.wYear,oT.wMonth,oT.wDay); lstrcat(psRes,sTemp); } else fRes = FALSE; if (DigiCrypt_GetCSPFromCert(pCertContext, sTemp, dSTRING_ITEM_LEN) == TRUE) lstrcat(psRes,sTemp); return(fRes); }