////////////////////////////////////////////////////////////////////////////////////
//	Adding a key
////////////////////////////////////////////////////////////////////////////////////
// The action name now bears, when relevant, the TEST ID which will help map the 
// resulting log to the DLRs, a mapping of these (TEST IDs to REQ number) can be found in
//  "V:\Dev\GT\GT 0140 Security\Test and Integration\Test Specifications\DLR mappings\keystore.xls"

<action>
	<actionname>Delete keystore data file</actionname>
	<actiontype>deletekeystoredata</actiontype>
	<actionbody>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>Retrieving label of a particular key store</actionname>
	<actiontype>init</actiontype>
	<actionbody>
		<mode>manager</mode>
		<CheckKeyStoreLabel>1</CheckKeyStoreLabel>
		<keystoreindex>2</keystoreindex>
		<keystorelabel>Dummy KeyStore Manager1</keystorelabel>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>Closing key store</actionname>
	<actiontype>delete</actiontype>
	<actionbody></actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>Retrieving label of a particular key store</actionname>
	<actiontype>init</actiontype>
	<actionbody>
		<mode>manager</mode>
		<CheckKeyStoreLabel>1</CheckKeyStoreLabel>
		<keystoreindex>4</keystoreindex>
		<keystorelabel>Dummy KeyStore Manager1</keystorelabel>
	</actionbody>
	<actionresult>
		<return>KErrGeneral</return>
	</actionresult>
</action>

<action>
	<actionname>Closing key store</actionname>
	<actiontype>delete</actiontype>
	<actionbody></actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.0.1,Opening key store 1 in manager mode</actionname>
	<actiontype>init</actiontype>
	<actionbody>
		<mode>manager</mode>
		<CheckStoreCount>1</CheckStoreCount>
		<KeyStoreCount>4</KeyStoreCount>
		<KeyStoreManagerCount>3</KeyStoreManagerCount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.0.2,Opening key store 2 in manager mode</actionname>
	<actiontype>init</actiontype>
	<actionbody>
		<mode>manager</mode>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
	<actionname>1.0.0.1 NOT A TEST Delete default keys</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody></actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<!-- Add DH key, try to export the same and should fail with KErrNotSupported while exporting -->

<action>
	<actionname>1.0.0.1.0,Add a key (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Derive</keyusage>
		<keysize>512</keysize>
		<keylabel>cheeku</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keystore>1</keystore>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
   	<actionname>1.0.0.1.1,List all keys (TEST ID: INC103084-KEY001)</actionname>
 	<actiontype>listallkeys</actiontype>
   	<actionbody>
   		<listcount>2</listcount>
   		<foundkey>cheeku</foundkey>
   		<foundkey>cheeku</foundkey>
   	</actionbody>
   	<actionresult>
   		<return>KErrNone</return>
   	</actionresult>
</action>

<action>
<actionname>1.0.0.1.0.0,export a DH key</actionname>
	<actiontype>exportkey</actiontype>
	<actionbody>
		<ExportFile>export_DHkey.001</ExportFile>
		<keyusage>Derive</keyusage>
		<keylabel>cheeku</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<encrypted>0</encrypted>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNotSupported</return>
	</actionresult>
</action>

<!-- Finish exporting DH key -->

<action>
	<actionname>1.0.0.1,Add a key (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>512</keysize>
		<keylabel>banana</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keystore>1</keystore>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.1.1,Set passphrase timeout to "don't cache"</actionname>
	<actiontype>settimeout</actiontype>
	<actionbody>
		<keylabel>banana</keylabel>
		<keystore>1</keystore>
		<timeout>0</timeout>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.2,Get it again</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>512</keysize>
		<keylabel>banana</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.2.1,Open it</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>banana</keylabel>
		<open>RSA</open>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.2.2,Open a banana for decrypt</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>banana</keylabel>
		<open>Decrypt</open>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>Changing password - All wrong tries</actionname>
	<actiontype>changepassphrase</actiontype>
	<actionbody>
		<keyusage>Derive</keyusage>
		<keysize>512</keysize>
		<keylabel>cheeku</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keystore>1</keystore>
		<passphrase>change neosis maximus</passphrase>
		<passphrase>change apple maximus</passphrase>
		<passphrase>change garbage maximus</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrBadPassphrase</return>
	</actionresult>
</action>


<action>
	<actionname>Changing password - First two wrong tries, third correct passphrase</actionname>
	<actiontype>changepassphrase</actiontype>
	<actionbody>
		<keyusage>Derive</keyusage>
		<keysize>512</keysize>
		<keylabel>cheeku</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keystore>1</keystore>
		<passphrase>change neosis maximus</passphrase>
		<passphrase>change neosis maximus</passphrase>
		<passphrase>change pinkcloud maximus</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
	<actionname>Changing password - First wrong try, in second try correct passphrase used</actionname>
	<actiontype>changepassphrase</actiontype>
	<actionbody>
		<keyusage>Derive</keyusage>
		<keysize>512</keysize>
		<keylabel>cheeku</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keystore>1</keystore>
		<passphrase>change neosis orange</passphrase>
		<passphrase>change maximus orange</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
	<actionname>Changing password - In first try correct passphrase used</actionname>
	<actiontype>changepassphrase</actiontype>
	<actionbody>
		<keyusage>Derive</keyusage>
		<keysize>512</keysize>
		<keylabel>cheeku</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keystore>1</keystore>
		<passphrase>change orange pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>Decrypt</actionname>
	<actiontype>decrypt</actiontype>
	<actionbody>
		<keylabel>banana</keylabel>
		<text>Ook!</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.2.2.1, Sign with a banana, 20 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>banana</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.2.2.2, Sign with a banana, 32 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>banana</keylabel>
		<open>RSA</open>
		<text>This is text of thirty-two chars</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.2.2.2.1, Sign digest with a banana</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>banana</keylabel>
		<open>RSA</open>
		<signdigest>1</signdigest>
		<text>digested!</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>

</action>
<action>
	<actionname>1.0.0.2.2.3, Sign digest with a banana, text too large</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>banana</keylabel>
		<open>RSA</open>
		<signdigest>2</signdigest>
		<text>Had we but world enough, and time,
This coyness, lady, were no crime.
We would sit down and think which way
To walk, and pass our long love's day;
Thou by the Indian Ganges' side
Shouldst rubies find; I by the tide
Of Humber would complain. I would
Love you ten years before the Flood;
And you should, if you please, refuse
Till the conversion of the Jews.
My vegetable love should grow
Vaster than empires, and more slow.
An hundred years should go to praise
Thine eyes, and on thy forehead gaze;
Two hundred to adore each breast,
But thirty thousand to the rest;
An age at least to every part,
And the last age should show your heart.
For, lady, you deserve this state,
Nor would I love at lower rate.

        But at my back I always hear
Time's winged chariot hurrying near;
And yonder all before us lie
Deserts of vast eternity.
Thy beauty shall no more be found,
Nor, in thy marble vault, shall sound
My echoing song; then worms shall try
That long preserv'd virginity,
And your quaint honour turn to dust,
And into ashes all my lust.
The grave's a fine and private place,
But none I think do there embrace.

        Now therefore, while the youthful hue
Sits on thy skin like morning dew,
And while thy willing soul transpires
At every pore with instant fires,
Now let us sport us while we may;
And now, like am'rous birds of prey,
Rather at once our time devour,
Than languish in his slow-chapp'd power.
Let us roll all our strength, and all
Our sweetness, up into one ball;
And tear our pleasures with rough strife
Thorough the iron gates of life.
Thus, though we cannot make our sun
Stand still, yet we will make him run</text>
	</actionbody>
	<actionresult>
		<return>KErrOverflow</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.2.3,Open a banana as a DSA key</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>banana</keylabel>
		<open>DSA</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.2.4,Open a banana as a DH key</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>banana</keylabel>
		<open>DH</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

//	Try to add a key that is already there - should fail with KErrAlreadyExists
<action>
	<actionname>1.0.0.3,Add a key (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>512</keysize>
		<keylabel>banana</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrAlreadyExists</return>
	</actionresult>
</action>

//	Add a key with an unsupported algorithm
<action>
	<actionname>1.0.0.4,Add a key with an unsupported algorithm (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>512</keysize>
		<keylabel>mangosteen</keylabel>
		<keyalgorithm>BAD</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.5,Add a key with a very long label (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	This is to test passing larger ammounts of data over the client/server 
	boundary.
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>1024</keysize>
		<keylabel>
To be, or not to be: that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles,
And by opposing end them? To die: to sleep;
No more; and by a sleep to say we end
The heart-ache and the thousand natural shocks
That flesh is heir to, 'tis a consummation
Devoutly to be wish'd. To die, to sleep;
To sleep: perchance to dream: ay, there's the rub;
For in that sleep of death what dreams may come
When we have shuffled off this mortal coil,
Must give us pause: there's the respect
That makes calamity of so long life;
For who would bear the whips and scorns of time,
The oppressor's wrong, the proud man's contumely,
The pangs of despised love, the law's delay,
The insolence of office and the spurns
That patient merit of the unworthy takes,
When he himself might his quietus make
With a bare bodkin? Who would fardels bear,
To grunt and sweat under a weary life,
But that the dread of something after death,
The undiscover'd country from whose bourn
No traveller returns, puzzles the will
And makes us rather bear those ills we have
Than fly to others that we know not of?
Thus conscience does make cowards of us all;
And thus the native hue of resolution
Is sicklied o'er with the pale cast of thought,
And enterprises of great pith and moment
With this regard their currents turn awry,
And lose the name of action.--Soft you now!
The fair Ophelia! Nymph, in thy orisons
Be all my sins remember'd. 
		</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.6,Get that key again</actionname>
	boundary.
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>1024</keysize>
		<keylabel>
To be, or not to be: that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles,
And by opposing end them? To die: to sleep;
No more; and by a sleep to say we end
The heart-ache and the thousand natural shocks
That flesh is heir to, 'tis a consummation
Devoutly to be wish'd. To die, to sleep;
To sleep: perchance to dream: ay, there's the rub;
For in that sleep of death what dreams may come
When we have shuffled off this mortal coil,
Must give us pause: there's the respect
That makes calamity of so long life;
For who would bear the whips and scorns of time,
The oppressor's wrong, the proud man's contumely,
The pangs of despised love, the law's delay,
The insolence of office and the spurns
That patient merit of the unworthy takes,
When he himself might his quietus make
With a bare bodkin? Who would fardels bear,
To grunt and sweat under a weary life,
But that the dread of something after death,
The undiscover'd country from whose bourn
No traveller returns, puzzles the will
And makes us rather bear those ills we have
Than fly to others that we know not of?
Thus conscience does make cowards of us all;
And thus the native hue of resolution
Is sicklied o'er with the pale cast of thought,
And enterprises of great pith and moment
With this regard their currents turn awry,
And lose the name of action.--Soft you now!
The fair Ophelia! Nymph, in thy orisons
Be all my sins remember'd. 
		</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.6.1,Open that key again</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>
To be, or not to be: that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles,
And by opposing end them? To die: to sleep;
No more; and by a sleep to say we end
The heart-ache and the thousand natural shocks
That flesh is heir to, 'tis a consummation
Devoutly to be wish'd. To die, to sleep;
To sleep: perchance to dream: ay, there's the rub;
For in that sleep of death what dreams may come
When we have shuffled off this mortal coil,
Must give us pause: there's the respect
That makes calamity of so long life;
For who would bear the whips and scorns of time,
The oppressor's wrong, the proud man's contumely,
The pangs of despised love, the law's delay,
The insolence of office and the spurns
That patient merit of the unworthy takes,
When he himself might his quietus make
With a bare bodkin? Who would fardels bear,
To grunt and sweat under a weary life,
But that the dread of something after death,
The undiscover'd country from whose bourn
No traveller returns, puzzles the will
And makes us rather bear those ills we have
Than fly to others that we know not of?
Thus conscience does make cowards of us all;
And thus the native hue of resolution
Is sicklied o'er with the pale cast of thought,
And enterprises of great pith and moment
With this regard their currents turn awry,
And lose the name of action.--Soft you now!
The fair Ophelia! Nymph, in thy orisons
Be all my sins remember'd. 
		</keylabel>
		<open>RSA</open>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
	<actionname>1.0.0.6.2 Sign long key</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>
To be, or not to be: that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles,
And by opposing end them? To die: to sleep;
No more; and by a sleep to say we end
The heart-ache and the thousand natural shocks
That flesh is heir to, 'tis a consummation
Devoutly to be wish'd. To die, to sleep;
To sleep: perchance to dream: ay, there's the rub;
For in that sleep of death what dreams may come
When we have shuffled off this mortal coil,
Must give us pause: there's the respect
That makes calamity of so long life;
For who would bear the whips and scorns of time,
The oppressor's wrong, the proud man's contumely,
The pangs of despised love, the law's delay,
The insolence of office and the spurns
That patient merit of the unworthy takes,
When he himself might his quietus make
With a bare bodkin? Who would fardels bear,
To grunt and sweat under a weary life,
But that the dread of something after death,
The undiscover'd country from whose bourn
No traveller returns, puzzles the will
And makes us rather bear those ills we have
Than fly to others that we know not of?
Thus conscience does make cowards of us all;
And thus the native hue of resolution
Is sicklied o'er with the pale cast of thought,
And enterprises of great pith and moment
With this regard their currents turn awry,
And lose the name of action.--Soft you now!
The fair Ophelia! Nymph, in thy orisons
Be all my sins remember'd. 
		</keylabel>
		<open>RSA</open>
		<text>Ook!</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>



<action>
	<actionname>1.0.0.7,Add a key (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>512</keysize>
		<keylabel>beansprout</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Sensitive</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.8,Check getting it again</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>512</keysize>
		<keylabel>beansprout</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Sensitive</keyaccesstype>
		<keyaccesstype>AlwaysSensitive</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.9,Add a key (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>DSAUsage</keyusage>
		<keysize>512</keysize>
		<keylabel>carrot</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.10,Get it again</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>DSAUsage</keyusage>
		<keysize>512</keysize>
		<keylabel>carrot</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.10.1, Sign with a carrot, 20 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>carrot</keylabel>
		<open>DSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.10.2, Sign with carrot, text too long (21 chars)</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>carrot</keylabel>
		<open>DSA</open>
		<text>This is a text of 21.</text>
	</actionbody>
	<actionresult>
		<return>KErrOverflow</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.10.2, Sign digest with carrot</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>carrot</keylabel>
		<open>DSA</open>
		<signdigest>1</signdigest>
		<passphrase>pinkcloud</passphrase>
		<text>Had we but world enough, and time,
This coyness, lady, were no crime.
We would sit down and think which way
To walk, and pass our long love's day;
Thou by the Indian Ganges' side
Shouldst rubies find; I by the tide
Of Humber would complain. I would
Love you ten years before the Flood;
And you should, if you please, refuse
Till the conversion of the Jews.
My vegetable love should grow
Vaster than empires, and more slow.
An hundred years should go to praise
Thine eyes, and on thy forehead gaze;
Two hundred to adore each breast,
But thirty thousand to the rest;
An age at least to every part,
And the last age should show your heart.
For, lady, you deserve this state,
Nor would I love at lower rate.

        But at my back I always hear
Time's winged chariot hurrying near;
And yonder all before us lie
Deserts of vast eternity.
Thy beauty shall no more be found,
Nor, in thy marble vault, shall sound
My echoing song; then worms shall try
That long preserv'd virginity,
And your quaint honour turn to dust,
And into ashes all my lust.
The grave's a fine and private place,
But none I think do there embrace.

        Now therefore, while the youthful hue
Sits on thy skin like morning dew,
And while thy willing soul transpires
At every pore with instant fires,
Now let us sport us while we may;
And now, like am'rous birds of prey,
Rather at once our time devour,
Than languish in his slow-chapp'd power.
Let us roll all our strength, and all
Our sweetness, up into one ball;
And tear our pleasures with rough strife
Thorough the iron gates of life.
Thus, though we cannot make our sun
Stand still, yet we will make him run</text>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.10.3, Sign digest with a carrot, fail hash</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>carrot</keylabel>
		<open>DSA</open>
		<signdigest>2</signdigest>
		<text>digest!</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrGeneral</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.10.4,Add a key </actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>DSAUsage</keyusage>
		<keysize>1024</keysize>
		<keylabel>artichoke</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.10.5,Get it again</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>DSAUsage</keyusage>
		<keysize>1024</keysize>
		<keylabel>artichoke</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
	<actionname>1.0.0.10.6, Sign with a artichoke, 20 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>artichoke</keylabel>
		<open>DSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.10.7, Sign with artichoke, text too long (21 chars)</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>artichoke</keylabel>
		<open>DSA</open>
		<text>This is a text of 21.</text>
	</actionbody>
	<actionresult>
		<return>KErrOverflow</return>
	</actionresult>
</action>
<action>
	<actionname>1.0.0.10.7, Sign digest with artichoke</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>artichoke</keylabel>
		<open>DSA</open>
		<signdigest>1</signdigest>
		<text>Had we but world enough, and time,
This coyness, lady, were no crime.
We would sit down and think which way
To walk, and pass our long love's day;
Thou by the Indian Ganges' side
Shouldst rubies find; I by the tide
Of Humber would complain. I would
Love you ten years before the Flood;
And you should, if you please, refuse
Till the conversion of the Jews.
My vegetable love should grow
Vaster than empires, and more slow.
An hundred years should go to praise
Thine eyes, and on thy forehead gaze;
Two hundred to adore each breast,
But thirty thousand to the rest;
An age at least to every part,
And the last age should show your heart.
For, lady, you deserve this state,
Nor would I love at lower rate.

        But at my back I always hear
Time's winged chariot hurrying near;
And yonder all before us lie
Deserts of vast eternity.
Thy beauty shall no more be found,
Nor, in thy marble vault, shall sound
My echoing song; then worms shall try
That long preserv'd virginity,
And your quaint honour turn to dust,
And into ashes all my lust.
The grave's a fine and private place,
But none I think do there embrace.

        Now therefore, while the youthful hue
Sits on thy skin like morning dew,
And while thy willing soul transpires
At every pore with instant fires,
Now let us sport us while we may;
And now, like am'rous birds of prey,
Rather at once our time devour,
Than languish in his slow-chapp'd power.
Let us roll all our strength, and all
Our sweetness, up into one ball;
And tear our pleasures with rough strife
Thorough the iron gates of life.
Thus, though we cannot make our sun
Stand still, yet we will make him run</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.10.8, Sign digest with artichoke, fail hash</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>artichoke</keylabel>
		<open>DSA</open>
		<signdigest>2</signdigest>
		<passphrase>pinkcloud</passphrase>
		<text>TheDigest</text>
	</actionbody>
	<actionresult>
		<return>KErrGeneral</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.11,Add a key (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Derive</keyusage>
		<keysize>512</keysize>
		<keylabel>mango</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.12,Get key info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Derive</keyusage>
		<keysize>512</keysize>
		<keylabel>mango</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.12.1,Open it</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>mango</keylabel>
		<open>DH</open>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.12.2, Test derive</actionname>
	<actiontype>derive</actiontype>
	<actionbody>
		<keylabel>mango</keylabel>
		<n>DA9A18547FF03B385CC16508C173A7EF4EB61CB40EF8FEF3B31F145051676166BCDC3FE6B799FC394D08C26385F9413F896E09117E46209D6923602683CEA100924A6EE695281775C619DAA94EA8CB3691B4275B0183F1D39639EBC92995FE645D6C1BC28D409E585549BBD2C5DCDD6C208B04EADD8B7A6D997F72CBAD88390F</n>
		<g>02</g>
		<passphrase>pinkcloud</passphrase>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// test added for combined NR and Sign usage
<action>
	<actionname>1.0.0.12.0.0,Add a key with legal usage</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>NR</keyusage>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>apple123</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.13,Add a key with illegal usage (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>jackfruit</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.14,Add a key with illegal usage (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Derive</keyusage>
		<keysize>512</keysize>
		<keylabel>custard apple</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.15,Add a key with illegal usage (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keyusage>NR</keyusage>
		<keyusage>Derive</keyusage>
		<keysize>512</keysize>
		<keylabel>grape</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.16,Add a key with illegal usage (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>NR</keyusage>
		<keysize>512</keysize>
		<keylabel>pomegranet</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.17,Add a key with an unacceptably short length (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>511</keysize>
		<keylabel>grape</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrKeySize</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.18,Add a key with an unacceptably long length (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>2049</keysize>
		<keylabel>pear</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrKeySize</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.19,Add a long key (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>2048</keysize>
		<keylabel>guava</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
	<actionname>1.0.0.19.1, Sign with a guava, 20 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>guava</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.19.2, Sign with a guava, 32 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>guava</keylabel>
		<open>RSA</open>
		<text>This is text of thirty-two chars</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
<action>
	<actionname>1.0.0.19.2, Sign digest with a guava</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>guava</keylabel>
		<open>RSA</open>
		<signdigest>1</signdigest>
		<text>predigested</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
<action>
	<actionname>1.0.0.2.2.3, Sign digest with a guava, text too large</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>guava</keylabel>
		<open>RSA</open>
		<signdigest>2</signdigest>
		<text>Had we but world enough, and time,
This coyness, lady, were no crime.
We would sit down and think which way
To walk, and pass our long love's day;
Thou by the Indian Ganges' side
Shouldst rubies find; I by the tide
Of Humber would complain. I would
Love you ten years before the Flood;
And you should, if you please, refuse
Till the conversion of the Jews.
My vegetable love should grow
Vaster than empires, and more slow.
An hundred years should go to praise
Thine eyes, and on thy forehead gaze;
Two hundred to adore each breast,
But thirty thousand to the rest;
An age at least to every part,
And the last age should show your heart.
For, lady, you deserve this state,
Nor would I love at lower rate.

        But at my back I always hear
Time's winged chariot hurrying near;
And yonder all before us lie
Deserts of vast eternity.
Thy beauty shall no more be found,
Nor, in thy marble vault, shall sound
My echoing song; then worms shall try
That long preserv'd virginity,
And your quaint honour turn to dust,
And into ashes all my lust.
The grave's a fine and private place,
But none I think do there embrace.

        Now therefore, while the youthful hue
Sits on thy skin like morning dew,
And while thy willing soul transpires
At every pore with instant fires,
Now let us sport us while we may;
And now, like am'rous birds of prey,
Rather at once our time devour,
Than languish in his slow-chapp'd power.
Let us roll all our strength, and all
Our sweetness, up into one ball;
And tear our pleasures with rough strife
Thorough the iron gates of life.
Thus, though we cannot make our sun
Stand still, yet we will make him run</text>
	</actionbody>
	<actionresult>
		<return>KErrOverflow</return>
	</actionresult>
</action>


<action>
	<actionname>1.0.0.20,Add a strangely-lengthed key (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>523</keysize>
		<keylabel>kiwi</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.21.1,Open it</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>kiwi</keylabel>
		<open>Decrypt</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyUsage</return>
	</actionresult>
</action>


<action>
	<actionname>1.0.0.21,Get key info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>523</keysize>
		<keylabel>kiwi</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.22 List everything (TEST ID: GT0140-KEY001) (including illegal usage keys)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<listcount>14</listcount>
		<foundkey>cheeku</foundkey>
		<foundkey>banana</foundkey>
		<foundkey>beansprout</foundkey>
		<foundkey>carrot</foundkey>
		<foundkey>mango</foundkey>
		<foundkey>apple123</foundkey>
		<foundkey>
To be, or not to be: that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles,
And by opposing end them? To die: to sleep;
No more; and by a sleep to say we end
The heart-ache and the thousand natural shocks
That flesh is heir to, 'tis a consummation
Devoutly to be wish'd. To die, to sleep;
To sleep: perchance to dream: ay, there's the rub;
For in that sleep of death what dreams may come
When we have shuffled off this mortal coil,
Must give us pause: there's the respect
That makes calamity of so long life;
For who would bear the whips and scorns of time,
The oppressor's wrong, the proud man's contumely,
The pangs of despised love, the law's delay,
The insolence of office and the spurns
That patient merit of the unworthy takes,
When he himself might his quietus make
With a bare bodkin? Who would fardels bear,
To grunt and sweat under a weary life,
But that the dread of something after death,
The undiscover'd country from whose bourn
No traveller returns, puzzles the will
And makes us rather bear those ills we have
Than fly to others that we know not of?
Thus conscience does make cowards of us all;
And thus the native hue of resolution
Is sicklied o'er with the pale cast of thought,
And enterprises of great pith and moment
With this regard their currents turn awry,
And lose the name of action.--Soft you now!
The fair Ophelia! Nymph, in thy orisons
Be all my sins remember'd. 
		</foundkey>
		<foundkey>artichoke</foundkey>
		<foundkey>guava</foundkey>
		<foundkey>kiwi</foundkey>
   		<foundkey>jackfruit</foundkey>
   		<foundkey>custard apple</foundkey>
   		<foundkey>grape</foundkey>
   		<foundkey>pomegranet</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.23 List DSA keys (TEST ID: GT0140-KEY001) (including illegal usage keys)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<keyalgorithm>DSA</keyalgorithm>
		<listcount>4</listcount>
		<foundkey>carrot</foundkey>
		<foundkey>artichoke</foundkey>
   		<foundkey>custard apple</foundkey>
   		<foundkey>grape</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.24 List Sign-usage keys (TEST ID: GT0140-KEY001) (including illegal usage keys)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<keyusage>DSAUsage</keyusage>
		<listcount>10</listcount>
		<foundkey>banana</foundkey>
		<foundkey>beansprout</foundkey>
		<foundkey>carrot</foundkey>
		<foundkey>artichoke</foundkey>
		<foundkey>guava</foundkey>
		<foundkey>apple123</foundkey>
		<foundkey>kiwi</foundkey>
   		<foundkey>jackfruit</foundkey>
   		<foundkey>grape</foundkey>
		<foundkey>
To be, or not to be: that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles,
And by opposing end them? To die: to sleep;
No more; and by a sleep to say we end
The heart-ache and the thousand natural shocks
That flesh is heir to, 'tis a consummation
Devoutly to be wish'd. To die, to sleep;
To sleep: perchance to dream: ay, there's the rub;
For in that sleep of death what dreams may come
When we have shuffled off this mortal coil,
Must give us pause: there's the respect
That makes calamity of so long life;
For who would bear the whips and scorns of time,
The oppressor's wrong, the proud man's contumely,
The pangs of despised love, the law's delay,
The insolence of office and the spurns
That patient merit of the unworthy takes,
When he himself might his quietus make
With a bare bodkin? Who would fardels bear,
To grunt and sweat under a weary life,
But that the dread of something after death,
The undiscover'd country from whose bourn
No traveller returns, puzzles the will
And makes us rather bear those ills we have
Than fly to others that we know not of?
Thus conscience does make cowards of us all;
And thus the native hue of resolution
Is sicklied o'er with the pale cast of thought,
And enterprises of great pith and moment
With this regard their currents turn awry,
And lose the name of action.--Soft you now!
The fair Ophelia! Nymph, in thy orisons
Be all my sins remember'd. 
		</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.25 List 'All usages' keys (TEST ID: GT0140-KEY001) (including illegal usage keys)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<listcount>10</listcount>
		<foundkey>banana</foundkey>
		<foundkey>beansprout</foundkey>
		<foundkey>artichoke</foundkey>
		<foundkey>guava</foundkey>
		<foundkey>apple123</foundkey>
		<foundkey>kiwi</foundkey>
		<foundkey>
To be, or not to be: that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles,
And by opposing end them? To die: to sleep;
No more; and by a sleep to say we end
The heart-ache and the thousand natural shocks
That flesh is heir to, 'tis a consummation
Devoutly to be wish'd. To die, to sleep;
To sleep: perchance to dream: ay, there's the rub;
For in that sleep of death what dreams may come
When we have shuffled off this mortal coil,
Must give us pause: there's the respect
That makes calamity of so long life;
For who would bear the whips and scorns of time,
The oppressor's wrong, the proud man's contumely,
The pangs of despised love, the law's delay,
The insolence of office and the spurns
That patient merit of the unworthy takes,
When he himself might his quietus make
With a bare bodkin? Who would fardels bear,
To grunt and sweat under a weary life,
But that the dread of something after death,
The undiscover'd country from whose bourn
No traveller returns, puzzles the will
And makes us rather bear those ills we have
Than fly to others that we know not of?
Thus conscience does make cowards of us all;
And thus the native hue of resolution
Is sicklied o'er with the pale cast of thought,
And enterprises of great pith and moment
With this regard their currents turn awry,
And lose the name of action.--Soft you now!
The fair Ophelia! Nymph, in thy orisons
Be all my sins remember'd. 
		</foundkey>
   		<foundkey>jackfruit</foundkey>
   		<foundkey>carrot</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.26, Delete RSA keys (TEST ID: GT0140KEY004)</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<keyalgorithm>RSA</keyalgorithm>
		<deletecount>6</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.27 List RSA keys (TEST ID: GT0140-KEY001)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<keyalgorithm>RSA</keyalgorithm>
		<listcount>0</listcount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.28 List everything (TEST ID: GT0140-KEY001) (including illegal usage keys)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<listcount>8</listcount>
		<foundkey>cheeku</foundkey>
		<foundkey>carrot</foundkey>
		<foundkey>mango</foundkey>
		<foundkey>artichoke</foundkey>
   		<foundkey>jackfruit</foundkey>
   		<foundkey>custard apple</foundkey>
   		<foundkey>grape</foundkey>
   		<foundkey>pomegranet</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.29, Add a key that was previously deleted (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>512</keysize>
		<keylabel>banana</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.30 List RSA keys (TEST ID: GT0140-KEY001)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<keyalgorithm>RSA</keyalgorithm>
		<listcount>1</listcount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.31 List everything (TEST ID: GT0140-KEY001) (including illegal usage keys)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<listcount>9</listcount>
		<foundkey>carrot</foundkey>
		<foundkey>cheeku</foundkey>
		<foundkey>mango</foundkey>
		<foundkey>banana</foundkey>
		<foundkey>artichoke</foundkey>
   		<foundkey>jackfruit</foundkey>
   		<foundkey>custard apple</foundkey>
   		<foundkey>grape</foundkey>
   		<foundkey>pomegranet</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.32, Delete it again (TEST ID: GT0140KEY004)</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<keyalgorithm>RSA</keyalgorithm>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
	<actionname>1.0.0.33, Try to delete a non existent key (TEST ID: GT0140KEY004)</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<nonexistent>1</nonexistent>
		<deletecount>0</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNotFound</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.34, Try to delete a non existent key (TEST ID: GT0140KEY004)</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<nonexistent>1</nonexistent>
		<deletecount>0</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNotFound</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.35, Add a key (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>512</keysize>
		<keylabel>Cabbage</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.36, Get key info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>512</keysize>
		<keylabel>Cabbage</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.37, Add a key (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>DSAUsage</keyusage>
		<keysize>512</keysize>
		<keylabel>Courgette</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.38, Get the key</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>DSAUsage</keyusage>
		<keysize>512</keysize>
		<keylabel>Courgette</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.39, Add a key (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>1024</keysize>
		<keylabel>Cauliflower</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.40, Get key info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>1024</keysize>
		<keylabel>Cauliflower</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
	<actionname>1.0.0.40.1, Sign with a cauliflower, 20 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>Cauliflower</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.40.2, Sign with a cauliflower, 32 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>Cauliflower</keylabel>
		<open>RSA</open>
		<text>This is text of thirty-two chars</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
<action>
	<actionname>1.0.0.40.2, Sign digest with a cauliflower</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>Cauliflower</keylabel>
		<open>RSA</open>
		<signdigest>1</signdigest>
		<text>hashed cauli</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.40.3, Sign digest with a cauliflower, text too large</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>Cauliflower</keylabel>
		<open>RSA</open>
		<signdigest>2</signdigest>
		<text>Had we but world enough, and time,
This coyness, lady, were no crime.
We would sit down and think which way
To walk, and pass our long love's day;
Thou by the Indian Ganges' side
Shouldst rubies find; I by the tide
Of Humber would complain. I would
Love you ten years before the Flood;
And you should, if you please, refuse
Till the conversion of the Jews.
My vegetable love should grow
Vaster than empires, and more slow.
An hundred years should go to praise
Thine eyes, and on thy forehead gaze;
Two hundred to adore each breast,
But thirty thousand to the rest;
An age at least to every part,
And the last age should show your heart.
For, lady, you deserve this state,
Nor would I love at lower rate.

        But at my back I always hear
Time's winged chariot hurrying near;
And yonder all before us lie
Deserts of vast eternity.
Thy beauty shall no more be found,
Nor, in thy marble vault, shall sound
My echoing song; then worms shall try
That long preserv'd virginity,
And your quaint honour turn to dust,
And into ashes all my lust.
The grave's a fine and private place,
But none I think do there embrace.

        Now therefore, while the youthful hue
Sits on thy skin like morning dew,
And while thy willing soul transpires
At every pore with instant fires,
Now let us sport us while we may;
And now, like am'rous birds of prey,
Rather at once our time devour,
Than languish in his slow-chapp'd power.
Let us roll all our strength, and all
Our sweetness, up into one ball;
And tear our pleasures with rough strife
Thorough the iron gates of life.
Thus, though we cannot make our sun
Stand still, yet we will make him run</text>
	</actionbody>
	<actionresult>
		<return>KErrOverflow</return>
	</actionresult>
</action>



<action>
	<actionname>1.0.0.41, Add a key (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>DSAUsage</keyusage>
		<keysize>512</keysize>
		<keylabel>Cashew</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.42, Get key info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>DSAUsage</keyusage>
		<keysize>512</keysize>
		<keylabel>Cashew</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.43, Add a key (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>DSAUsage</keyusage>
		<keysize>512</keysize>
		<keylabel>cranberry</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.44, Get it</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>DSAUsage</keyusage>
		<keysize>512</keysize>
		<keylabel>cranberry</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.45, Add a key (TEST ID: GT0140-KEY002 and GT0140-KEY003)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Derive</keyusage>
		<keysize>512</keysize>
		<keylabel>curly kale</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.46, Get key info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Derive</keyusage>
		<keysize>512</keysize>
		<keylabel>curly kale</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.47 List everything (TEST ID: GT0140-KEY001) (including illegal usage keys)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<listcount>14</listcount>
		<foundkey>cheeku</foundkey>
		<foundkey>carrot</foundkey>
		<foundkey>mango</foundkey>
		<foundkey>artichoke</foundkey>
		<foundkey>Cabbage</foundkey>
		<foundkey>Courgette</foundkey>
		<foundkey>Cauliflower</foundkey>
		<foundkey>Cashew</foundkey>
		<foundkey>cranberry</foundkey>
		<foundkey>curly kale</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.48 List RSA keys (TEST ID: GT0140-KEY001)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<keyalgorithm>RSA</keyalgorithm>
		<listcount>2</listcount>
		<foundkey>Cabbage</foundkey>
		<foundkey>Cauliflower</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.49 List DSA keys (TEST ID: GT0140-KEY001) (including illegal usage keys)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<keyalgorithm>DSA</keyalgorithm>
		<listcount>7</listcount>
		<foundkey>carrot</foundkey>
		<foundkey>Courgette</foundkey>
		<foundkey>Cashew</foundkey>
		<foundkey>cranberry</foundkey>
		<foundkey>artichoke</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.50, Get a carrot</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keylabel>carrot</keylabel>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.0.0.51 Import a RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8rsa.001</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED*banana</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.51.1, Get it again</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>512</keysize>
		<keylabel>*IMPORTED*banana</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
	<actionname>1.0.0.51.2, Sign with an imported banana, 20 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>*IMPORTED*banana</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.51.3, Sign with a *IMPORTED*banana, 32 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>*IMPORTED*banana</keylabel>
		<open>RSA</open>
		<text>This is text of thirty-two chars</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
<action>
	<actionname>1.0.0.51.3, Sign digest with a *IMPORTED*banana</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>*IMPORTED*banana</keylabel>
		<open>RSA</open>
		<signdigest>1</signdigest>
		<text>digestible</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
<action>
	<actionname>1.0.0.51.4, Sign digest with a *IMPORTED*banana, text too large</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>*IMPORTED*banana</keylabel>
		<open>RSA</open>
		<signdigest>2</signdigest>
		<text>Had we but world enough, and time,
This coyness, lady, were no crime.
We would sit down and think which way
To walk, and pass our long love's day;
Thou by the Indian Ganges' side
Shouldst rubies find; I by the tide
Of Humber would complain. I would
Love you ten years before the Flood;
And you should, if you please, refuse
Till the conversion of the Jews.
My vegetable love should grow
Vaster than empires, and more slow.
An hundred years should go to praise
Thine eyes, and on thy forehead gaze;
Two hundred to adore each breast,
But thirty thousand to the rest;
An age at least to every part,
And the last age should show your heart.
For, lady, you deserve this state,
Nor would I love at lower rate.

        But at my back I always hear
Time's winged chariot hurrying near;
And yonder all before us lie
Deserts of vast eternity.
Thy beauty shall no more be found,
Nor, in thy marble vault, shall sound
My echoing song; then worms shall try
That long preserv'd virginity,
And your quaint honour turn to dust,
And into ashes all my lust.
The grave's a fine and private place,
But none I think do there embrace.

        Now therefore, while the youthful hue
Sits on thy skin like morning dew,
And while thy willing soul transpires
At every pore with instant fires,
Now let us sport us while we may;
And now, like am'rous birds of prey,
Rather at once our time devour,
Than languish in his slow-chapp'd power.
Let us roll all our strength, and all
Our sweetness, up into one ball;
And tear our pleasures with rough strife
Thorough the iron gates of life.
Thus, though we cannot make our sun
Stand still, yet we will make him run</text>
	</actionbody>
	<actionresult>
		<return>KErrOverflow</return>
	</actionresult>
</action>


<action>
<actionname>1.0.0.52 Import a RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8rsa1.001</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED*strawberry</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.52.1, Get it again</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>512</keysize>
		<keylabel>*IMPORTED*strawberry</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.0.0.53 Import a RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8rsa2.001</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED*pumpkin</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.54, Get it again</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>512</keysize>
		<keylabel>*IMPORTED*pumpkin</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.0.0.54.1 Import a RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8rsa3.001</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED*coconut</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.54.2, Get it again</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>1024</keysize>
		<keylabel>*IMPORTED*coconut</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.54.3, Sign with a *IMPORTED*coconut, 20 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>*IMPORTED*coconut</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.54.4, Sign with a *IMPORTED*coconut, 32 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>*IMPORTED*coconut</keylabel>
		<open>RSA</open>
		<text>This is text of thirty-two chars</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
<action>
	<actionname>1.0.0.54.4, Sign digest with a *IMPORTED*coconut</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>*IMPORTED*coconut</keylabel>
		<open>RSA</open>
		<signdigest>1</signdigest>
		<text>coconuthash</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
<action>
	<actionname>1.0.0.54.5, Sign digest with a *IMPORTED*coconut, text too large</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>*IMPORTED*coconut</keylabel>
		<open>RSA</open>
		<signdigest>2</signdigest>
		<text>Had we but world enough, and time,
This coyness, lady, were no crime.
We would sit down and think which way
To walk, and pass our long love's day;
Thou by the Indian Ganges' side
Shouldst rubies find; I by the tide
Of Humber would complain. I would
Love you ten years before the Flood;
And you should, if you please, refuse
Till the conversion of the Jews.
My vegetable love should grow
Vaster than empires, and more slow.
An hundred years should go to praise
Thine eyes, and on thy forehead gaze;
Two hundred to adore each breast,
But thirty thousand to the rest;
An age at least to every part,
And the last age should show your heart.
For, lady, you deserve this state,
Nor would I love at lower rate.

        But at my back I always hear
Time's winged chariot hurrying near;
And yonder all before us lie
Deserts of vast eternity.
Thy beauty shall no more be found,
Nor, in thy marble vault, shall sound
My echoing song; then worms shall try
That long preserv'd virginity,
And your quaint honour turn to dust,
And into ashes all my lust.
The grave's a fine and private place,
But none I think do there embrace.

        Now therefore, while the youthful hue
Sits on thy skin like morning dew,
And while thy willing soul transpires
At every pore with instant fires,
Now let us sport us while we may;
And now, like am'rous birds of prey,
Rather at once our time devour,
Than languish in his slow-chapp'd power.
Let us roll all our strength, and all
Our sweetness, up into one ball;
And tear our pleasures with rough strife
Thorough the iron gates of life.
Thus, though we cannot make our sun
Stand still, yet we will make him run</text>
	</actionbody>
	<actionresult>
		<return>KErrOverflow</return>
	</actionresult>
</action>


<action>
<actionname>1.0.0.55 Import a RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8rsa4.001</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED*mango</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.55.1, Get it again</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>allusagesbutNR</keyusage>
		<keysize>2048</keysize>
		<keylabel>*IMPORTED*mango</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.55.2, Sign with a *IMPORTED*mango, 20 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>*IMPORTED*mango</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.55.3, Sign with a *IMPORTED*mango, 32 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>*IMPORTED*mango</keylabel>
		<open>RSA</open>
		<text>This is text of thirty-two chars</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
<action>
	<actionname>1.0.0.55.3, Sign digest with a *IMPORTED*mango</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>*IMPORTED*mango</keylabel>
		<open>RSA</open>
		<signdigest>1</signdigest>
		<text>DigestedMango</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
<action>
	<actionname>1.0.0.55.4, Sign digest with a *IMPORTED*mango, text too large</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>*IMPORTED*mango</keylabel>
		<open>RSA</open>
		<signdigest>2</signdigest>
		<text>Had we but world enough, and time,
This coyness, lady, were no crime.
We would sit down and think which way
To walk, and pass our long love's day;
Thou by the Indian Ganges' side
Shouldst rubies find; I by the tide
Of Humber would complain. I would
Love you ten years before the Flood;
And you should, if you please, refuse
Till the conversion of the Jews.
My vegetable love should grow
Vaster than empires, and more slow.
An hundred years should go to praise
Thine eyes, and on thy forehead gaze;
Two hundred to adore each breast,
But thirty thousand to the rest;
An age at least to every part,
And the last age should show your heart.
For, lady, you deserve this state,
Nor would I love at lower rate.

        But at my back I always hear
Time's winged chariot hurrying near;
And yonder all before us lie
Deserts of vast eternity.
Thy beauty shall no more be found,
Nor, in thy marble vault, shall sound
My echoing song; then worms shall try
That long preserv'd virginity,
And your quaint honour turn to dust,
And into ashes all my lust.
The grave's a fine and private place,
But none I think do there embrace.

        Now therefore, while the youthful hue
Sits on thy skin like morning dew,
And while thy willing soul transpires
At every pore with instant fires,
Now let us sport us while we may;
And now, like am'rous birds of prey,
Rather at once our time devour,
Than languish in his slow-chapp'd power.
Let us roll all our strength, and all
Our sweetness, up into one ball;
And tear our pleasures with rough strife
Thorough the iron gates of life.
Thus, though we cannot make our sun
Stand still, yet we will make him run</text>
	</actionbody>
	<actionresult>
		<return>KErrOverflow</return>
	</actionresult>
</action>


<action>
<actionname>1.0.0.56 Try to import an invalid length RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8invalidrsa.001</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED*badberry</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrKeySize</return>
	</actionresult>
</action>

<action>
<actionname>1.0.0.57 Import a DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8dsa.001</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED*DSA*raspberry</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.0.0.58 Import a DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8dsa1.001</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED*DSA*strawberry</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.0.0.59 Import a DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8dsa2.001</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED*DSA*gooseberry</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.0.0.60 Import a DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8dsa3.001</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED*DSA*cranberry</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.0.0.61 Import a DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8dsa4.001</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED*DSA*Stichbury</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.0.0.62 Try to import an invalid length DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8invaliddsa.001</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED*DSA*blackberry</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrKeySize</return>
	</actionresult>
</action>


<action>
	<actionname>1.0.0.63 List everything (TEST ID: GT0140-KEY001) (including illegal usage keys)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<listcount>24</listcount>
		<foundkey>cheeku</foundkey>
		<foundkey>carrot</foundkey>
		<foundkey>mango</foundkey>
		<foundkey>artichoke</foundkey>
		<foundkey>Cabbage</foundkey>
		<foundkey>Courgette</foundkey>
		<foundkey>Cauliflower</foundkey>
		<foundkey>Cashew</foundkey>
		<foundkey>cranberry</foundkey>
		<foundkey>curly kale</foundkey>
		<foundkey>*IMPORTED*banana</foundkey>
		<foundkey>*IMPORTED*strawberry</foundkey>
		<foundkey>*IMPORTED*pumpkin</foundkey>
		<foundkey>*IMPORTED*coconut</foundkey>
		<foundkey>*IMPORTED*mango</foundkey>
		<foundkey>*IMPORTED*DSA*raspberry</foundkey>
		<foundkey>*IMPORTED*DSA*strawberry</foundkey>
		<foundkey>*IMPORTED*DSA*gooseberry</foundkey>
		<foundkey>*IMPORTED*DSA*cranberry</foundkey>
		<foundkey>*IMPORTED*DSA*Stichbury</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
	<actionname>1.0.0.64 List RSA keys (TEST ID: GT0140-KEY001)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<keyalgorithm>RSA</keyalgorithm>
		<listcount>7</listcount>
		<foundkey>Cabbage</foundkey>
		<foundkey>Cauliflower</foundkey>
		<foundkey>*IMPORTED*banana</foundkey>
		<foundkey>*IMPORTED*strawberry</foundkey>
		<foundkey>*IMPORTED*pumpkin</foundkey>
		<foundkey>*IMPORTED*coconut</foundkey>
		<foundkey>*IMPORTED*mango</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.65 List DSA keys (TEST ID: GT0140-KEY001) (including illegal usage keys)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<keyalgorithm>DSA</keyalgorithm>
		<listcount>12</listcount>
		<foundkey>carrot</foundkey>
		<foundkey>Courgette</foundkey>
		<foundkey>Cashew</foundkey>
		<foundkey>cranberry</foundkey>
		<foundkey>artichoke</foundkey>
		<foundkey>*IMPORTED*DSA*raspberry</foundkey>
		<foundkey>*IMPORTED*DSA*strawberry</foundkey>
		<foundkey>*IMPORTED*DSA*gooseberry</foundkey>
		<foundkey>*IMPORTED*DSA*cranberry</foundkey>
		<foundkey>*IMPORTED*DSA*Stichbury</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.66 Get a nonexistent key</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keylabel>The fruit of the tree of life</keylabel>
	</actionbody>
	<actionresult>
		<return>KErrNotFound</return>
	</actionresult>
</action>

<action>
	<actionname>1.0.0.67 Delete everything (TEST ID: GT0140KEY004)</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>24</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.4 Import a RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8rsa.001</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED*banana</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.5 Import a RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8rsa1.001</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED*strawberry</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.6 Import a RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8rsa2.001</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED*pumpkin</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.7 Import a RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8rsa3.001</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED*coconut</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.8 Import a RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8rsa4.001</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED*mango</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.9 Try to import an invalid length RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8invalidrsa.001</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED*badberry</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrKeySize</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.10 Import a DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8dsa.001</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED*DSA*raspberry</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.11 Import a DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8dsa1.001</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED*DSA*strawberry</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.12 Import a DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8dsa2.001</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED*DSA*gooseberry</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.13 Import a DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8dsa3.001</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED*DSA*cranberry</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.14 Import a DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8dsa4.001</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED*DSA*Stichbury</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.15 Try to import an invalid length DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8invaliddsa.001</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED*DSA*blackberry</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrKeySize</return>
	</actionresult>
</action>


<action>
	<actionname>1.1.0.16 List everything (TEST ID: GT0140-KEY001)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<listcount>10</listcount>
		<foundkey>*IMPORTED*banana</foundkey>
		<foundkey>*IMPORTED*strawberry</foundkey>
		<foundkey>*IMPORTED*pumpkin</foundkey>
		<foundkey>*IMPORTED*coconut</foundkey>
		<foundkey>*IMPORTED*mango</foundkey>
		<foundkey>*IMPORTED*DSA*raspberry</foundkey>
		<foundkey>*IMPORTED*DSA*strawberry</foundkey>
		<foundkey>*IMPORTED*DSA*gooseberry</foundkey>
		<foundkey>*IMPORTED*DSA*cranberry</foundkey>
		<foundkey>*IMPORTED*DSA*Stichbury</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.1.0.17 List RSA keys (TEST ID: GT0140-KEY001)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<keyalgorithm>RSA</keyalgorithm>
		<listcount>5</listcount>
		<foundkey>*IMPORTED*banana</foundkey>
		<foundkey>*IMPORTED*strawberry</foundkey>
		<foundkey>*IMPORTED*pumpkin</foundkey>
		<foundkey>*IMPORTED*coconut</foundkey>
		<foundkey>*IMPORTED*mango</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.1.0.18 List DSA keys (TEST ID: GT0140-KEY001)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<keyalgorithm>DSA</keyalgorithm>
		<listcount>5</listcount>
		<foundkey>*IMPORTED*DSA*raspberry</foundkey>
		<foundkey>*IMPORTED*DSA*strawberry</foundkey>
		<foundkey>*IMPORTED*DSA*gooseberry</foundkey>
		<foundkey>*IMPORTED*DSA*cranberry</foundkey>
		<foundkey>*IMPORTED*DSA*Stichbury</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
<actionname>1.1.0.19 Import a PKCS5 encrypted RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>encryptPK8rsaDER.txt</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED* encrypted raddicio</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>import clanger</passphrase>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.19.1 Import a PKCS5 encrypted RSA key with the wrong password</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>encryptPK8rsaDER.txt</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED* encrypted fig</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>import pinkcloud</passphrase>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrArgument</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.20 Import a PKCS5 encrypted RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>encryptPK8rsa1DER.txt</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED* encrypted lollo rosso</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>import clanger</passphrase>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
<action>
<actionname>1.1.0.21 Import a PKCS5 encrypted RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>encryptPK8rsa2DER.txt</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED* encrypted rocket</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>import clanger</passphrase>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.22 Import a PKCS5 encrypted RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>encryptPK8rsa3DER.txt</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED* encrypted iceberg lettuce</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>import clanger</passphrase>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.23 Import a PKCS5 encrypted RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>encryptPK8rsa4DER.txt</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED* encrypted watercress</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>import clanger</passphrase>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.1.0.24 List RSA keys (TEST ID: GT0140-KEY001)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<keyalgorithm>RSA</keyalgorithm>
		<listcount>10</listcount>
		<foundkey>*IMPORTED*banana</foundkey>
		<foundkey>*IMPORTED*strawberry</foundkey>
		<foundkey>*IMPORTED*pumpkin</foundkey>
		<foundkey>*IMPORTED*coconut</foundkey>
		<foundkey>*IMPORTED*mango</foundkey>
		<foundkey>*IMPORTED* encrypted raddicio</foundkey>
		<foundkey>*IMPORTED* encrypted lollo rosso</foundkey>
		<foundkey>*IMPORTED* encrypted rocket</foundkey>
		<foundkey>*IMPORTED* encrypted iceberg lettuce</foundkey>
		<foundkey>*IMPORTED* encrypted watercress</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
<actionname>1.1.0.25 Import a PKCS5 encrypted DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>encryptPK8dsaDER.txt</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED* encrypted physalis</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>import clanger</passphrase>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.26 Import a PKCS5 encrypted DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>encryptPK8dsa1DER.txt</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED* encrypted papaya</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>import clanger</passphrase>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
<action>
<actionname>1.1.0.27 Import a PKCS5 encrypted DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>encryptPK8dsa2DER.txt</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED* encrypted pomegranate</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>import clanger</passphrase>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.28 Import a PKCS5 encrypted DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>encryptPK8dsa3DER.txt</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED* encrypted pear</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>import clanger</passphrase>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.29 Import a PKCS5 encrypted DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>encryptPK8dsa4DER.txt</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>*IMPORTED* encrypted purple plum</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>import clanger</passphrase>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.1.0.29.1 List DSA keys (TEST ID: GT0140-KEY001)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<keyalgorithm>DSA</keyalgorithm>
		<listcount>10</listcount>
		<foundkey>*IMPORTED*DSA*raspberry</foundkey>
		<foundkey>*IMPORTED*DSA*strawberry</foundkey>
		<foundkey>*IMPORTED*DSA*gooseberry</foundkey>
		<foundkey>*IMPORTED*DSA*cranberry</foundkey>
		<foundkey>*IMPORTED*DSA*Stichbury</foundkey>
		<foundkey>*IMPORTED* encrypted physalis</foundkey>
		<foundkey>*IMPORTED* encrypted papaya</foundkey>
		<foundkey>*IMPORTED* encrypted pomegranate</foundkey>
		<foundkey>*IMPORTED* encrypted pear</foundkey>
		<foundkey>*IMPORTED* encrypted purple plum</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.29.2 Try to import invalid data (PKCS5 encrypted RSA key, not PKCS8)</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>testvector1.bin</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED* encrypted evil one</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>import clanger</passphrase>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrArgument</return>
	</actionresult>
</action>

<action>
<actionname>1.1.0.29.4 Try to import invalid data (garbage)</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>binarygarbage.bin</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>*IMPORTED* encrypted evil one</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrArgument</return>
	</actionresult>
</action>


<action>
	<actionname>1.1.0.33 List RSA keys (TEST ID: GT0140-KEY001)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<keyalgorithm>RSA</keyalgorithm>
		<listcount>10</listcount>
		<foundkey>*IMPORTED*banana</foundkey>
		<foundkey>*IMPORTED*strawberry</foundkey>
		<foundkey>*IMPORTED*pumpkin</foundkey>
		<foundkey>*IMPORTED*coconut</foundkey>
		<foundkey>*IMPORTED*mango</foundkey>
		<foundkey>*IMPORTED* encrypted raddicio</foundkey>
		<foundkey>*IMPORTED* encrypted lollo rosso</foundkey>
		<foundkey>*IMPORTED* encrypted rocket</foundkey>
		<foundkey>*IMPORTED* encrypted iceberg lettuce</foundkey>
		<foundkey>*IMPORTED* encrypted watercress</foundkey>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.2, Delete everything (TEST ID: GT0140KEY004)</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>20</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.2.0.68 List everything (TEST ID: GT0140-KEY001)</actionname>
	<actiontype>listkeys</actiontype>
	<actionbody>
		<listcount>0</listcount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.2.0.69.0 Closing key store 1</actionname>
	<actiontype>delete</actiontype>
	<actionbody></actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.2.0.69.1 Closing key store 2</actionname>
	<actiontype>delete</actiontype>
	<actionbody></actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.3.2.1,Opening a key store in user mode</actionname>
	<actiontype>init</actiontype>
	<actionbody>
		<mode>user</mode>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.3.2.2,Closing key store</actionname>
	<actiontype>delete</actiontype>
	<actionbody></actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
////////////////////////////////////////////////////////////////////////////////////
//	Opening Unfied Key Store first in user mode, then in manager mode
////////////////////////////////////////////////////////////////////////////////////
<action>
	<actionname>1.3.3.1,Opening a key store in user mode</actionname>
	<actiontype>init</actiontype>
	<actionbody>
		<mode>user</mode>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.3.3.2,Opening key store again in manager mode</actionname>
	<actiontype>init</actiontype>
	<actionbody>
		<mode>manager</mode>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.3.3.3,Closing key store</actionname>
	<actiontype>delete</actiontype>
	<actionbody></actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
<action>
	<actionname>1.3.3.3.1,Closing key store</actionname>
	<actiontype>delete</actiontype>
	<actionbody></actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
////////////////////////////////////////////////////////////////////////////////////
//	Opening Unified Key Store first in manager mode, then in user mode
////////////////////////////////////////////////////////////////////////////////////
<action>
	<actionname>1.3.4.1,Opening a key store in manager mode</actionname>
	<actiontype>init</actiontype>
	<actionbody>
		<mode>manager</mode>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.3.4.2,Opening key store again in user mode</actionname>
	<actiontype>init</actiontype>
	<actionbody>
		<mode>user</mode>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
<actionname>1.3.4.3,Closing key store</actionname>
	<actiontype>delete</actiontype>
	<actionbody></actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
<action>
<actionname>1.3.4.3.1,Closing key store</actionname>
	<actiontype>delete</actiontype>
	<actionbody></actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
////////////////////////////////////////////////////////////////////////////////////

<action>
	<actionname>1.4.0,Opening key store in manager mode</actionname>
	<actiontype>init</actiontype>
	<actionbody>
		<mode>manager</mode>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.1 Test key usage

// 1.4.1.1. Test keys with no usage

<action>
	<actionname>1.4.1.1.1, Add key (usage: none)</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>none</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.1.2, Set passphrase timeout to "don't cache"</actionname>
	<actiontype>settimeout</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<timeout>0</timeout>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.1.3, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>none</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.1.4, Sign, expect failure</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
	</actionbody>
	<actionresult>
		<return>KErrKeyUsage</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.1.5, Decrypt, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>Decrypt</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyUsage</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.1.6, Derive, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>DH</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.1.7, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.1.2. Test keys with sign usage only

<action>
	<actionname>1.4.1.2.1, Add key </actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.2.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.2.3, Sign, expect success</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.2.4, Decrypt, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>Decrypt</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyUsage</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.2.5, Derive, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>DH</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.2.6, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.1.3. Test keys with signRecover usage only

<action>
	<actionname>1.4.1.3.1, Add key </actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>SignRecover</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.3.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>SignRecover</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.3.3, Sign, expect success</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.3.4, Decrypt, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>Decrypt</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyUsage</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.3.5, Derive, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>DH</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.3.6, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.1.5. Test keys with decrypt usages

<action>
	<actionname>1.4.1.5.1, Add key </actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Decrypt</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.5.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Decrypt</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.5.3, Sign, expect failure</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
	</actionbody>
	<actionresult>
		<return>KErrKeyUsage</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.5.4, Decrypt</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>Decrypt</open>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.5.5, Derive, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>DH</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.5.6, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.1.8. Test keys with unwrap usage

<action>
	<actionname>1.4.1.8.1, Add key </actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Unwrap</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.8.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Unwrap</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.8.3, Sign, expect failure</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
	</actionbody>
	<actionresult>
		<return>KErrKeyUsage</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.8.4, Decrypt</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>Decrypt</open>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.8.5, Derive, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>DH</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.8.6, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.1.9. Test DSA keys with sign usage only

<action>
	<actionname>1.4.1.9.1, Add key </actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.9.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.9.3, Sign, expect success</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>DSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.9.4, Decrypt, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>Decrypt</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.9.5, Derive, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>DH</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.9.6, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.1.10. Test DSA keys with signRecover usage only

<action>
	<actionname>1.4.1.10.1, Add key </actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>SignRecover</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.10.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>SignRecover</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.10.3, Sign, expect success</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>DSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.10.4, Decrypt, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>Decrypt</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.10.5, Derive, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>DH</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.10.6, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.1.12. Test keys with derive usage

<action>
	<actionname>1.4.1.12.1, Add key </actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Derive</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.12.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Derive</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.12.3, Sign, expect failure</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.12.4, Decrypt, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>Decrypt</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.12.5, Derive, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>DH</open>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.12.6, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


// 1.4.1.16. Test RSA keys with NR usage

<action>
	<actionname>1.4.1.16.1, Add key</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>NR</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.16.3, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>NR</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.16.4, Sign, expect failure</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
	</actionbody>
	<actionresult>
		<return>KErrKeyUsage</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.16.5, Decrypt, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>Decrypt</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyUsage</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.16.6, Derive, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>DH</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.16.7, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.1.17. Test RSA keys with NR usage

<action>
	<actionname>1.4.1.17.1, Add key</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>NR</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.17.3, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>NR</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>DSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Local</keyaccesstype>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.17.4, Sign, expect failure</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.17.5, Decrypt, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>Decrypt</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.17.6, Derive, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>DH</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyAlgorithm</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.1.17.7, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.2 Test access flags

// 1.4.2.1 Test RSA key with no access flags specified

<action>
	<actionname>1.4.2.1.1, Add key with no flags specified</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.2.1.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Local</keyaccesstype>
		<keyaccesstype>NeverExtractable</keyaccesstype>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.2.1.3, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.2.2 Test RSA key with sensitive access flag specified

<action>
	<actionname>1.4.2.2.1, Add key</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Sensitive</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.2.2.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Local</keyaccesstype>
		<keyaccesstype>NeverExtractable</keyaccesstype>
		<keyaccesstype>Sensitive</keyaccesstype>
		<keyaccesstype>AlwaysSensitive</keyaccesstype>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.2.2.3, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


// 1.4.2.3 Test RSA key with extractable access flag specified

<action>
	<actionname>1.4.2.3.1, Add key</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.2.3.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Local</keyaccesstype>
		<keyaccesstype>Extractable</keyaccesstype>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.2.3.3, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.2.4 Test RSA key with sensitive, extractable access flags specified

<action>
	<actionname>1.4.2.4.1, Add key</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Sensitive</keyaccesstype>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.2.4.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Local</keyaccesstype>
		<keyaccesstype>Extractable</keyaccesstype>
		<keyaccesstype>Sensitive</keyaccesstype>
		<keyaccesstype>AlwaysSensitive</keyaccesstype>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.2.4.3, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.2.5 Failure tests

<action>
	<actionname>1.4.2.5.1, Add key, expect failure</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>AlwaysSensitive</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrKeyAccess</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.2.5.2, Add key, expect failure</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>NeverExtractable</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrKeyAccess</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.2.5.3, Add key, expect failure</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<keyaccesstype>Local</keyaccesstype>
	</actionbody>
	<actionresult>
		<return>KErrKeyAccess</return>
	</actionresult>
</action>

// 1.4.3 Test start time and end time

// 1.4.3.1 Start time and end time not set

<action>
	<actionname>1.4.3.1.1, Add key with no start date and end date</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.1.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<native>1</native>
		<startdate>unset</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.1.3, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.3.2 Specify start time only

<action>
	<actionname>1.4.3.2.1, Add key </actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<passphrase>create pinkcloud</passphrase>
		<startdate>10/08/1977 12:43:59</startdate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.2.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<native>1</native>
		<startdate>10/08/1977 12:43:59</startdate>
		<enddate>unset</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.2.3, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.3.3 Specify end time only

<action>
	<actionname>1.4.3.3.1, Add key </actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<passphrase>create pinkcloud</passphrase>
		<enddate>27/09/2079 23:23:23</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.3.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<native>1</native>
		<enddate>27/09/2079 23:23:23</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.3.3, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.3.4 Specify start time and end time

<action>
	<actionname>1.4.3.4.1, Add key </actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<passphrase>create pinkcloud</passphrase>
		<startdate>10/08/1977 12:43:59</startdate>
		<enddate>27/09/2079 23:23:23</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.4.2, Check info</actionname>
	<actiontype>getkeyinfo</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<native>1</native>
		<startdate>10/08/1977 12:43:59</startdate>
		<enddate>27/09/2079 23:23:23</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.4.3, Delete it again</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>1</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

// 1.4.3.5 Failure tests

// 1.4.3.5.1 Specify start time and end time the wrong way round

<action>
	<actionname>1.4.3.5.1, Add key </actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<startdate>27/09/2079 23:23:23</startdate>
		<enddate>10/08/1977 12:43:59</enddate>
	</actionbody>
	<actionresult>
		<return>KErrKeyValidity</return>
	</actionresult>
</action>

// 1.4.3.5.2 Specify end date in the past

<action>
	<actionname>1.4.3.5.2, Add key </actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<startdate>27/09/1879 23:23:23</startdate>
		<enddate>10/08/1977 12:43:59</enddate>
	</actionbody>
	<actionresult>
		<return>KErrKeyValidity</return>
	</actionresult>
</action>

// 1.4.3.6 Test that you can't use expired keys

<action>
	<actionname>1.4.3.6.1, Set the time </actionname>
	<actiontype>settime</actiontype>
	<actionbody>
		<hometime>01/01/2000 00:00:00</hometime>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.6.2, Add key </actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Sign</keyusage>
		<keyusage>Decrypt</keyusage>
		<keysize>512</keysize>
		<keylabel>pineapple</keylabel>
		<keyalgorithm>RSA</keyalgorithm>
		<passphrase>create pinkcloud</passphrase>
		<enddate>01/01/2001 00:00:00</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.6.2.1, Set passphrase timeout to "don't cache"</actionname>
	<actiontype>settimeout</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<timeout>0</timeout>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.6.3, Add a key</actionname>
	<actiontype>addkey</actiontype>
	<actionbody>
		<keyusage>Derive</keyusage>
		<keysize>512</keysize>
		<keylabel>mango</keylabel>
		<keyalgorithm>DH</keyalgorithm>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
		<enddate>01/01/2001 00:00:00</enddate>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.6.4, Sign</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.6.5, Decrypt</actionname>
	<actiontype>decrypt</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<text>Ook!</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.6.6, Derive</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>mango</keylabel>
		<open>DH</open>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.6.7, Set the time past key's expiry date</actionname>
	<actiontype>settime</actiontype>
	<actionbody>
		<hometime>01/01/2003 00:00:00</hometime>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.6.8, Sign with a banana, expect failure</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
	</actionbody>
	<actionresult>
		<return>KErrKeyValidity</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.6.9, Decrypt, expect failure</actionname>
	<actiontype>decrypt</actiontype>
	<actionbody>
		<keylabel>pineapple</keylabel>
		<text>Ook!</text>
	</actionbody>
	<actionresult>
		<return>KErrKeyValidity</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.6.10, Derive, expect failure</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>mango</keylabel>
		<open>DH</open>
	</actionbody>
	<actionresult>
		<return>KErrKeyValidity</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.3.6.11, Delete them</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>2</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<!-- Test encrypt/decrypt/sign with BIG keys -->

<action>
<actionname>1.4.4.1 Import a RSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8rsa4.001</ImportData>
		<keyusage>allusagesbutNR</keyusage>
		<keylabel>BIGRSA</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>create pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
	<actionname>1.4.4.2,Set passphrase timeout to "don't cache"</actionname>
	<actiontype>settimeout</actiontype>
	<actionbody>
		<keylabel>BIGRSA</keylabel>
		<timeout>0</timeout>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.4.3,Open a BIGRSA for decrypt</actionname>
	<actiontype>open</actiontype>
	<actionbody>
		<keylabel>BIGRSA</keylabel>
		<open>Decrypt</open>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
	<actionname>1.4.4.4, Sign with a BIGRSA, 20 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>BIGRSA</keylabel>
		<open>RSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.4.5, Sign with a BIGRSA, 32 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>BIGRSA</keylabel>
		<open>RSA</open>
		<text>This is text of thirty-two chars</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.4.6, Sign digest with a BIGRSA</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>BIGRSA</keylabel>
		<open>RSA</open>
		<signdigest>1</signdigest>
		<text>digested!</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
<actionname>1.4.4.7 Import a BIG DSA key</actionname>
	<actiontype>importkey</actiontype>
	<actionbody>
		<ImportData>pkcs8dsa4.001</ImportData>
		<keyusage>DSAUsage</keyusage>
		<keylabel>BIGDSA</keylabel>
		<keyaccesstype>Extractable</keyaccesstype>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.4.8, Sign with a BIGDSA, 20 char text</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>BIGDSA</keylabel>
		<open>DSA</open>
		<text>This is text of 20 .</text>
		<passphrase>pinkcloud</passphrase>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.4.9, Sign with BIGDSA, text too long (21 chars)</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>BIGDSA</keylabel>
		<open>DSA</open>
		<text>This is a text of 21.</text>
	</actionbody>
	<actionresult>
		<return>KErrOverflow</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.4.10, Sign digest with BIGDSA</actionname>
	<actiontype>sign</actiontype>
	<actionbody>
		<keylabel>BIGDSA</keylabel>
		<open>DSA</open>
		<signdigest>1</signdigest>
		<passphrase>pinkcloud</passphrase>
		<text>Had we but world enough, and time,
This coyness, lady, were no crime.
We would sit down and think which way
To walk, and pass our long love's day;
Thou by the Indian Ganges' side
Shouldst rubies find; I by the tide
Of Humber would complain. I would
Love you ten years before the Flood;
And you should, if you please, refuse
Till the conversion of the Jews.
My vegetable love should grow
Vaster than empires, and more slow.
An hundred years should go to praise
Thine eyes, and on thy forehead gaze;
Two hundred to adore each breast,
But thirty thousand to the rest;
An age at least to every part,
And the last age should show your heart.
For, lady, you deserve this state,
Nor would I love at lower rate.

        But at my back I always hear
Time's winged chariot hurrying near;
And yonder all before us lie
Deserts of vast eternity.
Thy beauty shall no more be found,
Nor, in thy marble vault, shall sound
My echoing song; then worms shall try
That long preserv'd virginity,
And your quaint honour turn to dust,
And into ashes all my lust.
The grave's a fine and private place,
But none I think do there embrace.

        Now therefore, while the youthful hue
Sits on thy skin like morning dew,
And while thy willing soul transpires
At every pore with instant fires,
Now let us sport us while we may;
And now, like am'rous birds of prey,
Rather at once our time devour,
Than languish in his slow-chapp'd power.
Let us roll all our strength, and all
Our sweetness, up into one ball;
And tear our pleasures with rough strife
Thorough the iron gates of life.
Thus, though we cannot make our sun
Stand still, yet we will make him run</text>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.4.999, Delete everything</actionname>
	<actiontype>deletekeys</actiontype>
	<actionbody>
		<deletecount>2</deletecount>
	</actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>


<action>
	<actionname>1.4.999.1,Closing key store</actionname>
	<actiontype>delete</actiontype>
	<actionbody></actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.999.2, Sleep 5 seconds</actionname>
	<actiontype>sleep</actiontype>
	<actionbody>
          <seconds>5</seconds>
        </actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>

<action>
	<actionname>1.4.999.3, Check for server heap error</actionname>
	<actiontype>checkserverheaperror</actiontype>
	<actionbody>
    </actionbody>
	<actionresult>
		<return>KErrNone</return>
	</actionresult>
</action>
