// reload.txt
//
// Test that certs and cert meta data stay in the cert store after it is
// reloaded.
// 0. Setup
<action>
<actionname>0.1, Opening a CertificateAppInfoManager</actionname>
<actiontype>initappmanager</actiontype>
<actionbody></actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>0.2, Adding client A1</actionname>
<actiontype>addclient</actiontype>
<actionbody>
<name>A1</name>
<uid>1</uid>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>0.3, Adding client A2</actionname>
<actiontype>addclient</actiontype>
<actionbody>
<name>A2</name>
<uid>2</uid>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>0.4, Adding client A3</actionname>
<actiontype>addclient</actiontype>
<actionbody>
<name>A3</name>
<uid>3</uid>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>0.5, Deleting the CertificateAppInfoManager</actionname>
<actiontype>deleteappmanager</actiontype>
<actionbody></actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>0.6, Import a RSA key</actionname>
<actiontype>importkey</actiontype>
<actionbody>
<ImportData>rsacertkey1.txt</ImportData>
<keyusage>AllUsagesButNR</keyusage>
<keylabel>*IMPORTED* RSA key 1</keylabel>
<keyaccesstype>Extractable</keyaccesstype>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>0.7, Opening a certificate store manager</actionname>
<actiontype>init</actiontype>
<actionbody>
<mode>write</mode>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>0.8, Deleting all certs</actionname>
<actiontype>deletecert</actiontype>
<actionbody>
<label>*.*</label>
<deleteallcerts>1</deleteallcerts>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>0.9, Add the certificate CAX1</actionname>
<actiontype>addcert</actiontype>
<actionbody>
<format>X509</format>
<label>CAX1</label>
<issuerkey></issuerkey>
<subjectkey></subjectkey>
<certstore>0</certstore>
<certfile>c:\unifiedcertstore2\CAX1.cer</certfile>
<certowner>ca</certowner>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>0.10, Add certificate rsacert1</actionname>
<actiontype>addcert</actiontype>
<actionbody>
<format>X509</format>
<label>rsacert1</label>
<issuerkey></issuerkey>
<subjectkey>4808f03892fe836e78d048bcefcca4a37913d886</subjectkey>
<certstore>0</certstore>
<certfile>c:\unifiedcertstore2\rsacert1.cer</certfile>
<certowner>user</certowner>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>0.11, Get the list of CA certificates</actionname>
<actiontype>listcert</actiontype>
<actionbody>
<filter>
<ownertype>ca</ownertype>
</filter>
</actionbody>
<actionresult>
<return>KErrNone</return>
<CCTCertInfo><label>CAX1</label></CCTCertInfo>
</actionresult>
</action>
<action>
<actionname>0.12, Get the list of user certificates</actionname>
<actiontype>listcert</actiontype>
<actionbody>
<filter>
<ownertype>user</ownertype>
</filter>
</actionbody>
<actionresult>
<return>KErrNone</return>
<CCTCertInfo><label>rsacert1</label></CCTCertInfo>
</actionresult>
</action>
<action>
<actionname>0.13, Set applications to the CAX1 certificate</actionname>
<actiontype>setapplications</actiontype>
<actionbody>
<label>CAX1</label>
<uid>1 2 3</uid>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>0.14, Get applications for CAX1</actionname>
<actiontype>getapplications</actiontype>
<actionbody>
<label>CAX1</label>
</actionbody>
<actionresult>
<return>KErrNone</return>
<uid>1 2 3</uid>
</actionresult>
</action>
<action>
<actionname>0.15, Set the trust for CAX1</actionname>
<actiontype>settrust</actiontype>
<actionbody>
<label>CAX1</label>
<trust>1</trust>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>0.16, Get the trust for CAX1</actionname>
<actiontype>gettrusters</actiontype>
<actionbody>
<label>CAX1</label>
</actionbody>
<actionresult>
<return>KErrNone</return>
<trust>1</trust>
</actionresult>
</action>
<action>
<actionname>0.21, Deleting the writable certificate store manager</actionname>
<actiontype>delete</actiontype>
<actionbody></actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>0.22, Sleep 5 seconds so server exits</actionname>
<actiontype>sleep</actiontype>
<actionbody>
<seconds>5</seconds>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
// 1. Test things are still as we left them when the server restarts
<action>
<actionname>1.1, Opening a certificate store manager</actionname>
<actiontype>init</actiontype>
<actionbody>
<mode>write</mode>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>1.2, Get the list of CA certificates</actionname>
<actiontype>listcert</actiontype>
<actionbody>
<filter>
<ownertype>ca</ownertype>
</filter>
</actionbody>
<actionresult>
<return>KErrNone</return>
<CCTCertInfo><label>CAX1</label></CCTCertInfo>
</actionresult>
</action>
<action>
<actionname>1.3, Get the list of user certificates</actionname>
<actiontype>listcert</actiontype>
<actionbody>
<filter>
<ownertype>user</ownertype>
</filter>
</actionbody>
<actionresult>
<return>KErrNone</return>
<CCTCertInfo><label>rsacert1</label></CCTCertInfo>
</actionresult>
</action>
<action>
<actionname>1.4, Get applications for CAX1</actionname>
<actiontype>getapplications</actiontype>
<actionbody>
<label>CAX1</label>
</actionbody>
<actionresult>
<return>KErrNone</return>
<uid>1 2 3</uid>
</actionresult>
</action>
<action>
<actionname>1.5, Get the trust for CAX1</actionname>
<actiontype>gettrusters</actiontype>
<actionbody>
<label>CAX1</label>
</actionbody>
<actionresult>
<return>KErrNone</return>
<trust>1</trust>
</actionresult>
</action>
// 2. Cleanup
<action>
<actionname>2.0, Opening a CertificateAppInfoManager</actionname>
<actiontype>initappmanager</actiontype>
<actionbody></actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>2.1, Deleting the client A1</actionname>
<actiontype>removeclient</actiontype>
<actionbody>
<uid>1</uid>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>2.2, Deleting the client A2</actionname>
<actiontype>removeclient</actiontype>
<actionbody>
<uid>2</uid>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>2.3, Deleting the client A3</actionname>
<actiontype>removeclient</actiontype>
<actionbody>
<uid>3</uid>
</actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>
<action>
<actionname>2.4, Deleting the CertificateAppInfoManager</actionname>
<actiontype>deleteappmanager</actiontype>
<actionbody></actionbody>
<actionresult>
<return>KErrNone</return>
</actionresult>
</action>