cryptoservices/filebasedcertificateandkeystores/test/certtool/certtool_addapps.cpp
--- a/cryptoservices/filebasedcertificateandkeystores/test/certtool/certtool_addapps.cpp Fri Nov 06 13:21:00 2009 +0200
+++ b/cryptoservices/filebasedcertificateandkeystores/test/certtool/certtool_addapps.cpp Tue Nov 24 09:06:03 2009 +0200
@@ -35,7 +35,7 @@
return self;
}
-CCertToolAddApps::CCertToolAddApps(CCertToolController* aController) : CCertToolList(aController)
+CCertToolAddApps::CCertToolAddApps(CCertToolController* aController) : CCertToolList(aController), iCertIndex (-1)
{
}
@@ -67,19 +67,17 @@
if (iParams->iDefault)
{
// Look for a specific certificate
- TInt certIndex = -1;
for (TInt j = 0; j < iCertInfos.Count(); j++)
{
if (iCertInfos[j]->Label() == *iParams->iDefault)
{
- certIndex = j;
+ iCertIndex = j;
break;
}
}
- if (certIndex != -1)
+ if (iCertIndex != -1)
{
- iIndex = certIndex;
// Certificate found set app uids!
if (iParams->iCertstoreIndex == -1)
{
@@ -90,7 +88,7 @@
iController->DisplayLocalisedMsgL(R_CERTTOOL_ERR_NOTEXIST);
User::Leave(KErrArgument);
}
- iCertStore->Applications(*iCertInfos[iIndex], iApps, iStatus);
+ iCertStore->Applications(*iCertInfos[iCertIndex], iApps, iStatus);
iState = ESetApps;
SetActive();
}
@@ -131,9 +129,24 @@
{
iParams->iUIDs.Append(iApps[j]);
}
+ if(iCertInfos[iCertIndex]->CertificateOwnerType() == ECACertificate)
+ {
+ iState = ESetTrust;
+ }
+ else
+ {
+ iState = EFinished;
+ }
+ iCertStore->SetApplicability(*iCertInfos[iCertIndex], iParams->iUIDs, iStatus);
+ SetActive();
+ }
+ break;
+ case ESetTrust:
+ {
iState = EFinished;
- iCertStore->SetApplicability(*iCertInfos[iIndex], iParams->iUIDs, iStatus);
- SetActive();
+ const TBool caCert = ETrue;
+ iCertStore->SetTrust(*iCertInfos[iCertIndex],caCert,iStatus);
+ SetActive();
}
break;
case EFinished: