Click here to Skip to main content
15,914,111 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Towers of Hanoi Pin
Christian Graus21-Nov-01 10:18
protectorChristian Graus21-Nov-01 10:18 
GeneralRe: Towers of Hanoi Pin
Rick York21-Nov-01 11:25
mveRick York21-Nov-01 11:25 
GeneralRe: Towers of Hanoi Pin
Andrew Peace21-Nov-01 14:37
Andrew Peace21-Nov-01 14:37 
GeneralWeird Problem Pin
Peter Liddle21-Nov-01 8:50
Peter Liddle21-Nov-01 8:50 
GeneralRe: Weird Problem Pin
Christian Graus21-Nov-01 8:58
protectorChristian Graus21-Nov-01 8:58 
GeneralRe: Weird Problem Pin
Peter Liddle21-Nov-01 11:32
Peter Liddle21-Nov-01 11:32 
GeneralRe: Weird Problem Pin
Christian Graus21-Nov-01 11:46
protectorChristian Graus21-Nov-01 11:46 
GeneralRe: Weird Problem Pin
Peter Liddle21-Nov-01 13:16
Peter Liddle21-Nov-01 13:16 
Hey Christian

The problem happens even with out the CERT_INFO structure (which i have now removed anyway). It seems i can add anything else to the structure except another TCHAR array. As for the code where it is used the reason i haven't given you any is it literally is passed into a function and then data written into the string. Anyway this is one of the functions.


bool CCrypto::GetSubjectNameFromCert(PCCERT_CONTEXT pCertificate, CertificateNames *CertInfoStruct)//(PCCERT_CONTEXT pCertificate, TCHAR *sSignerName)
{

OSVERSIONINFO OSVersion;

GetVersionEx(&OSVersion);

SYSTEMTIME ExpireDateCert;
FILETIME ExpireDateCertUTC;



if(OSVersion.dwPlatformId == 4 && OSVersion.dwMinorVersion == 10)
{
CERT_NAME_BLOB CertSubjectNameBlob;
CERT_NAME_BLOB CertIssuerNameBlob;
TCHAR sCertificateName[BUFFER_LENGTH];
DWORD dwSizeOfsCertificateName = sizeof(sCertificateName);
TCHAR sCertificateCommonName[BUFFER_LENGTH];
bool bQuoteFlag = FALSE;



CertSubjectNameBlob = pCertificate->pCertInfo->Subject;
CertIssuerNameBlob = pCertificate->pCertInfo->Issuer;


CertNameToStr(X509_ASN_ENCODING, &CertSubjectNameBlob, CERT_X500_NAME_STR, sCertificateName, dwSizeOfsCertificateName);

for(int i = 0; i < BUFFER_LENGTH; i++)
{
if(sCertificateName[i] == 'C')
{
if(sCertificateName[++i] == 'N')
{
if(sCertificateName[++i] == '=')
{
++i;

for(int y = i, d = 0; y < BUFFER_LENGTH; y++, d++)
{
if(sCertificateName[y] == '"')
{
if(bQuoteFlag == TRUE)
{
bQuoteFlag = FALSE;
}
else
{
bQuoteFlag = TRUE;
}

}
if(sCertificateName[y] == ',' && bQuoteFlag == FALSE)
{
CertInfoStruct->sCommonName[d] = NULL;//sCertificateCommonName[d] = NULL;
break;
}
else
{
CertInfoStruct->sCommonName[d] = sCertificateName[y]; //sCertificateCommonName[d] = sCertificateName[y];
}
}
}
}
}
}

delete &CertSubjectNameBlob;



_strset(&sCertificateName[0], NULL);



CertNameToStr(X509_ASN_ENCODING, &CertIssuerNameBlob, CERT_X500_NAME_STR, sCertificateName, dwSizeOfsCertificateName);

for(int k = 0; k < BUFFER_LENGTH; k++)
{
if(sCertificateName[k] == 'C')
{
if(sCertificateName[++k] == 'N')
{
if(sCertificateName[++k] == '=')
{
++k;

for(int g = k, h = 0; g < BUFFER_LENGTH; g++, h++)
{
if(sCertificateName[g] == '"')
{
if(bQuoteFlag == TRUE)
{
bQuoteFlag = FALSE;
}
else
{
bQuoteFlag = TRUE;
}

}
if(sCertificateName[g] == ',' && bQuoteFlag == FALSE)
{
CertInfoStruct->sIssuerName[h] = NULL;//sCertificateCommonName[d] = NULL;
break;
}
else
{
CertInfoStruct->sIssuerName[h] = sCertificateName[g]; //sCertificateCommonName[d] = sCertificateName[y];
}
}
}
}
}
}

delete &CertIssuerNameBlob;

}
else
{
CertGetNameString(pCertificate, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, NULL, CertInfoStruct->sCommonName, STRING_LENGTH);

CertGetNameString(pCertificate, CERT_NAME_SIMPLE_DISPLAY_TYPE, CERT_NAME_ISSUER_FLAG, NULL, CertInfoStruct->sIssuerName, STRING_LENGTH);

CertGetNameString(pCertificate, CERT_NAME_FRIENDLY_DISPLAY_TYPE, CERT_NAME_ISSUER_FLAG, NULL, CertInfoStruct->sFriendlyName, STRING_LENGTH);

ExpireDateCertUTC = pCertificate->pCertInfo->NotAfter;

FileTimeToSystemTime(&ExpireDateCertUTC, &ExpireDateCert);

//GetDateFormat(NULL, 0, &ExpireDateCert, "MMM dd',' yyyy", CertInfoStruct->sDateCertExpires, STRING_LENGTH);



}

return 0;
}
GeneralRe: Weird Problem Pin
Peter Liddle21-Nov-01 13:18
Peter Liddle21-Nov-01 13:18 
GeneralRe: Weird Problem Pin
Christian Graus21-Nov-01 13:21
protectorChristian Graus21-Nov-01 13:21 
GeneralRe: Weird Problem Pin
Rashid Thadha22-Nov-01 1:27
Rashid Thadha22-Nov-01 1:27 
GeneralRe: Weird Problem Pin
21-Nov-01 13:41
suss21-Nov-01 13:41 
Generalexecuting files ie file manager Pin
21-Nov-01 7:41
suss21-Nov-01 7:41 
GeneralRe: executing files ie file manager Pin
Joaquín M López Muñoz21-Nov-01 8:06
Joaquín M López Muñoz21-Nov-01 8:06 
QuestionSeeking in CMemFile...? Pin
21-Nov-01 7:29
suss21-Nov-01 7:29 
GeneralToolbars and MDI Apps Pin
Chambers21-Nov-01 6:20
Chambers21-Nov-01 6:20 
GeneralRe: Toolbars and MDI Apps Pin
Roger Allen21-Nov-01 7:17
Roger Allen21-Nov-01 7:17 
GeneralRe: Toolbars and MDI Apps Pin
Chambers21-Nov-01 7:58
Chambers21-Nov-01 7:58 
GeneralUsing Word Doc on CHtmlView. Pin
21-Nov-01 5:35
suss21-Nov-01 5:35 
GeneralContext Menus w/o Doc/View Pin
John Clump21-Nov-01 4:28
John Clump21-Nov-01 4:28 
GeneralRe: Context Menus w/o Doc/View Pin
Roger Allen21-Nov-01 7:25
Roger Allen21-Nov-01 7:25 
GeneralCome on you all, WMI can't be the only solution!!!!! Pin
Tommy H D Svensson21-Nov-01 3:42
Tommy H D Svensson21-Nov-01 3:42 
GeneralI have an error while executing Win32 Release application! Pin
mabang21-Nov-01 2:52
mabang21-Nov-01 2:52 
GeneralRe: I have an error while executing Win32 Release application! Pin
Bernhard21-Nov-01 3:24
Bernhard21-Nov-01 3:24 
GeneralI want to recommend an application Pin
er21-Nov-01 1:39
er21-Nov-01 1:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.