cryptoservices/certificateandkeymgmt/documentation/Building a certificate store.rtf
branchRCL_3
changeset 53 030c4fbc13d7
parent 50 d07aa956024a
child 57 e0a1505373c1
child 58 b54b58ee9d58
equal deleted inserted replaced
50:d07aa956024a 53:030c4fbc13d7
     1 {\rtf1\ansi\ansicpg1252\uc1\deff1\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang2057\deflangfe2057{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
       
     2 {\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f10\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f36\froman\fcharset238\fprq2 Times New Roman CE;}{\f37\froman\fcharset204\fprq2 Times New Roman Cyr;}
       
     3 {\f39\froman\fcharset161\fprq2 Times New Roman Greek;}{\f40\froman\fcharset162\fprq2 Times New Roman Tur;}{\f41\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f42\froman\fcharset178\fprq2 Times New Roman (Arabic);}
       
     4 {\f43\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f44\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f46\fswiss\fcharset238\fprq2 Arial CE;}{\f47\fswiss\fcharset204\fprq2 Arial Cyr;}{\f49\fswiss\fcharset161\fprq2 Arial Greek;}
       
     5 {\f50\fswiss\fcharset162\fprq2 Arial Tur;}{\f51\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f52\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f53\fswiss\fcharset186\fprq2 Arial Baltic;}{\f54\fswiss\fcharset163\fprq2 Arial (Vietnamese);}
       
     6 {\f56\fmodern\fcharset238\fprq1 Courier New CE;}{\f57\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f59\fmodern\fcharset161\fprq1 Courier New Greek;}{\f60\fmodern\fcharset162\fprq1 Courier New Tur;}{\f61\fmodern\fcharset177\fprq1 Courier New (Hebrew);}
       
     7 {\f62\fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f63\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f64\fmodern\fcharset163\fprq1 Courier New (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;
       
     8 \red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;
       
     9 \red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 \snext0 Normal;}{
       
    10 \s1\ql \li0\ri0\keepn\widctlpar\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \b\f1\fs28\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 \sbasedon0 \snext0 heading 1;}{
       
    11 \s2\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel1\adjustright\rin0\lin0\itap0 \b\i\f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 \sbasedon0 \snext0 heading 2;}{
       
    12 \s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 \sbasedon0 \snext0 heading 3;}{
       
    13 \s4\ql \li0\ri0\keepn\widctlpar\faauto\outlinelevel3\adjustright\rin0\lin0\itap0 \b\f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 \sbasedon0 \snext0 heading 4;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\*
       
    14 \ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 
       
    15 \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{\s15\ql \li0\ri0\sa120\widctlpar\faauto\adjustright\rin0\lin0\itap0 
       
    16 \f2\fs20\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 \sbasedon0 \snext15 Plain Text;}}{\*\listtable{\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0
       
    17 {\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid57175370}{\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
       
    18 \levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid76369953}{\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
       
    19 \levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid87585882}{\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
       
    20 \levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid103771911}{\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
       
    21 \levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid207691058}{\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23
       
    22 \leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid382677438}{\list\listtemplateid134807557\listsimple{\listlevel
       
    23 \levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid640959204}{\list\listtemplateid134807557
       
    24 \listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid641151899}
       
    25 {\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname 
       
    26 ;}\listid809130454}{\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360
       
    27 \jclisttab\tx360\lin360 }{\listname ;}\listid940797453}{\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 
       
    28 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid960839331}{\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers
       
    29 ;}\f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid1056972387}{\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
       
    30 \'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid1098327032}{\list\listtemplateid-693208200{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat3\levelspace0\levelindent0
       
    31 {\leveltext\'01\'00;}{\levelnumbers\'01;}\fbias0 \fi-525\li525\jclisttab\tx525\lin525 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\fbias0 
       
    32 \fi-525\li525\jclisttab\tx525\lin525 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat5\levelspace0\levelindent0{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\fbias0 \fi-720\li720\jclisttab\tx720\lin720 }
       
    33 {\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\fbias0 \fi-1080\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc0\levelnfcn0
       
    34 \leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'09\'00.\'01.\'02.\'03.\'04;}{\levelnumbers\'01\'03\'05\'07\'09;}\fbias0 \fi-1080\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0
       
    35 \levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0b\'00.\'01.\'02.\'03.\'04.\'05;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\fbias0 \fi-1440\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0
       
    36 \levelstartat1\levelspace0\levelindent0{\leveltext\'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\fbias0 \fi-1440\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0
       
    37 \levelstartat1\levelspace0\levelindent0{\leveltext\'0f\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\fbias0 \fi-1800\li1800\jclisttab\tx1800\lin1800 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0
       
    38 \levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\fbias0 \fi-1800\li1800\jclisttab\tx1800\lin1800 }{\listname ;}\listid1159809835}
       
    39 {\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname 
       
    40 ;}\listid1213081872}{\list\listtemplateid1293425904{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listlevel
       
    41 \levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levellegal\levelspace0\levelindent0{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\fbias0 \fi-390\li390\jclisttab\tx390\lin390 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0
       
    42 \levelfollow0\levelstartat1\levellegal\levelspace0\levelindent0{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\fbias0 \fi-720\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1
       
    43 \levellegal\levelspace0\levelindent0{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\fbias0 \fi-720\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levellegal\levelspace0
       
    44 \levelindent0{\leveltext\'09\'00.\'01.\'02.\'03.\'04;}{\levelnumbers\'01\'03\'05\'07\'09;}\fbias0 \fi-1080\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levellegal\levelspace0\levelindent0
       
    45 {\leveltext\'0b\'00.\'01.\'02.\'03.\'04.\'05;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\fbias0 \fi-1080\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levellegal\levelspace0\levelindent0
       
    46 {\leveltext\'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\fbias0 \fi-1440\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levellegal\levelspace0
       
    47 \levelindent0{\leveltext\'0f\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\fbias0 \fi-1440\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1
       
    48 \levellegal\levelspace0\levelindent0{\leveltext\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\fbias0 \fi-1800\li1800\jclisttab\tx1800\lin1800 }{\listname ;}\listid1217356200}
       
    49 {\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname 
       
    50 ;}\listid1385762102}{\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360
       
    51 \jclisttab\tx360\lin360 }{\listname ;}\listid1730421560}{\list\listtemplateid134807557\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}
       
    52 \f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid1810439737}{\list\listtemplateid516748504{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat3\levelspace0\levelindent0{\leveltext\'01\'00;}{\levelnumbers\'01;}
       
    53 \fbias0 \fi-525\li525\jclisttab\tx525\lin525 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\fbias0 \fi-525\li525\jclisttab\tx525\lin525 }
       
    54 {\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat3\levelspace0\levelindent0{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\fbias0 \fi-720\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0
       
    55 \leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\fbias0 \fi-1080\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0
       
    56 \levelstartat1\levelspace0\levelindent0{\leveltext\'09\'00.\'01.\'02.\'03.\'04;}{\levelnumbers\'01\'03\'05\'07\'09;}\fbias0 \fi-1080\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1
       
    57 \levelspace0\levelindent0{\leveltext\'0b\'00.\'01.\'02.\'03.\'04.\'05;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\fbias0 \fi-1440\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
       
    58 \levelindent0{\leveltext\'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\fbias0 \fi-1440\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
       
    59 \levelindent0{\leveltext\'0f\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\fbias0 \fi-1800\li1800\jclisttab\tx1800\lin1800 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1
       
    60 \levelspace0\levelindent0{\leveltext\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\fbias0 \fi-1800\li1800\jclisttab\tx1800\lin1800 }{\listname ;}\listid1839415847}{\list\listtemplateid134807557
       
    61 \listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid1893424460}}
       
    62 {\*\listoverridetable{\listoverride\listid1217356200\listoverridecount0\ls1}{\listoverride\listid1213081872\listoverridecount0\ls2}{\listoverride\listid76369953\listoverridecount0\ls3}{\listoverride\listid1056972387\listoverridecount0\ls4}
       
    63 {\listoverride\listid103771911\listoverridecount0\ls5}{\listoverride\listid960839331\listoverridecount0\ls6}{\listoverride\listid1098327032\listoverridecount0\ls7}{\listoverride\listid640959204\listoverridecount0\ls8}{\listoverride\listid1730421560
       
    64 \listoverridecount0\ls9}{\listoverride\listid1385762102\listoverridecount0\ls10}{\listoverride\listid87585882\listoverridecount0\ls11}{\listoverride\listid1893424460\listoverridecount0\ls12}{\listoverride\listid1810439737\listoverridecount0\ls13}
       
    65 {\listoverride\listid382677438\listoverridecount0\ls14}{\listoverride\listid57175370\listoverridecount0\ls15}{\listoverride\listid1839415847\listoverridecount0\ls16}{\listoverride\listid1159809835\listoverridecount0\ls17}{\listoverride\listid207691058
       
    66 \listoverridecount0\ls18}{\listoverride\listid940797453\listoverridecount0\ls19}{\listoverride\listid809130454\listoverridecount0\ls20}{\listoverride\listid641151899\listoverridecount0\ls21}}{\*\rsidtbl \rsid1522105\rsid12475093\rsid12857379\rsid13650984
       
    67 \rsid14158268\rsid16284029}{\*\generator Microsoft Word 10.0.6764;}{\info{\title Building a certificate store}{\author WilliamB}{\operator Chris Davies}{\creatim\yr2002\mo11\dy13\hr15\min43}{\revtim\yr2005\mo12\dy1\hr16\min54}
       
    68 {\printim\yr2002\mo11\dy13\hr15\min48}{\version11}{\edmins9}{\nofpages7}{\nofwords1546}{\nofchars8818}{\*\company Symbian}{\nofcharsws10344}{\vern16391}}
       
    69 \widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3
       
    70 \jcompress\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\nolnhtadjtbl\rsidroot16284029 \fet0\sectd \linex0\endnhere\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang 
       
    71 {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang 
       
    72 {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain 
       
    73 \s1\ql \li0\ri0\keepn\widctlpar\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \b\f1\fs28\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Building a certificate store
       
    74 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 
       
    75 \par }\pard\plain \s4\ql \li0\ri0\keepn\widctlpar\faauto\outlinelevel3\adjustright\rin0\lin0\itap0 \b\f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Revision 0.02
       
    76 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 
       
    77 \par {\listtext\pard\plain\s1 \b\f1\fs28\lang1033\langfe2057\langnp1033\insrsid12475093 \hich\af1\dbch\af0\loch\f1 1.\tab}}\pard\plain \s1\ql \fi-360\li360\ri0\keepn\widctlpar\jclisttab\tx360\faauto\ls1\outlinelevel0\adjustright\rin0\lin360\itap0 
       
    78 \b\f1\fs28\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Purpose 
       
    79 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 
       
    80 \par This note describes how to build a certificate store in Symbian OS version 7 and above which contains appropriate values for your application.
       
    81 \par 
       
    82 \par {\listtext\pard\plain\s1 \b\f1\fs28\lang1033\langfe2057\langnp1033\insrsid12475093 \hich\af1\dbch\af0\loch\f1 2.\tab}}\pard\plain \s1\ql \fi-360\li360\ri0\keepn\widctlpar\jclisttab\tx360\faauto\ls1\outlinelevel0\adjustright\rin0\lin360\itap0 
       
    83 \b\f1\fs28\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Overview
       
    84 \par }\pard\plain \s2\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel1\adjustright\rin0\lin0\itap0 \b\i\f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 2.1 Clients and root certificates
       
    85 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 
       
    86 \par To do certificate validation a client must have at least one cert
       
    87 ificate which it trusts directly. This is called a root certificate. It's pretty clear that different clients are going to trust different certificates: so TLS might trust VeriSign's secure server root, but software install would not. 
       
    88 \par 
       
    89 \par To handle this situ
       
    90 ation, the certificate store contains zero or more 'clients' (sometimes known as 'applications' in the documentation). Each client consists of a UID and a human-readable name, and represents an application which is going to use the certificate validation 
       
    91 interface. For example, TLS is a client, as is software installation. Each certificate is marked as trusted by zero or more of these clients: this is what makes it a root certificate for that application. 
       
    92 \par 
       
    93 \par The clients are stored in a file called certclients.dat. Certificates are stored in a separate file called cacerts.dat.
       
    94 \par 
       
    95 \par The way it works is this: the application using the certificate validation interface will supply the appropriate UID to the certificate validation object, which will use this to select 
       
    96 the subset of certificates which are trusted by that application: these form the set of 'candidate' root certificates. The UID can be anything at all, as long as the same UID is used in the store as is supplied to certificate validation. (In particular, i
       
    97 t doesn't need to be the app UID, although this might be a sensible choice.)
       
    98 \par 
       
    99 \par So to get your app working with certificate validation, you need to:
       
   100 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   101 {\pntxtb \'a7}}\faauto\ls2\adjustright\rin0\lin360\itap0 {\insrsid12475093 add an entry for your app into the list of clients
       
   102 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   103 {\pntxtb \'a7}}\faauto\ls2\adjustright\rin0\lin360\itap0 {\insrsid12475093 add any certificates you need 
       
   104 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   105 {\pntxtb \'a7}}\faauto\ls2\adjustright\rin0\lin360\itap0 {\insrsid12475093 mark them as trusted by your client
       
   106 \par }\pard \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 {\insrsid12475093 
       
   107 \par }\pard\plain \s2\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel1\adjustright\rin0\lin0\itap0 \b\i\f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 2.2 Using the test code
       
   108 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 
       
   109 \par In Symbian OS v7 and above, you should use the test code for the certificate store to do this. 
       
   110 \par The test code takes a script file and  the name of an log file as input, then executes the actions specified in the script file, checks the results and logs them to the log file.
       
   111 \par 
       
   112 \par So the steps are:
       
   113 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls4\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   114 {\pntxtb \'a7}}\faauto\ls4\adjustright\rin0\lin360\itap0 {\insrsid12475093 create appropriate script files
       
   115 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls3\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   116 {\pntxtb \'a7}}\faauto\ls3\adjustright\rin0\lin360\itap0 {\insrsid12475093 build the test code
       
   117 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls3\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   118 {\pntxtb \'a7}}\faauto\ls3\adjustright\rin0\lin360\itap0 {\insrsid12475093 run the test code
       
   119 \par }\pard \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 {\insrsid12475093 
       
   120 \par 
       
   121 \par 
       
   122 \par 
       
   123 \par 
       
   124 \par {\listtext\pard\plain\s1 \b\f1\fs28\lang1033\langfe2057\langnp1033\insrsid12475093 \hich\af1\dbch\af0\loch\f1 3.\tab}}\pard\plain \s1\ql \fi-360\li360\ri0\keepn\widctlpar\jclisttab\tx360\faauto\ls1\outlinelevel0\adjustright\rin0\lin360\itap0 
       
   125 \b\f1\fs28\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Creating the scripts
       
   126 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 
       
   127 \par Each action in the test script will have:
       
   128 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li420\ri0\widctlpar\jclisttab\tx420{\*\pn \pnlvlblt\ilvl0\ls6\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   129 {\pntxtb \'a7}}\faauto\ls6\adjustright\rin0\lin420\itap0 {\insrsid12475093 the action name, used to log the action: this can be anything
       
   130 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li420\ri0\widctlpar\jclisttab\tx420{\*\pn \pnlvlblt\ilvl0\ls6\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   131 {\pntxtb \'a7}}\faauto\ls6\adjustright\rin0\lin420\itap0 {\insrsid12475093 the action type: an identifier for the type of action to be performed
       
   132 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li420\ri0\widctlpar\jclisttab\tx420{\*\pn \pnlvlblt\ilvl0\ls6\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   133 {\pntxtb \'a7}}\faauto\ls6\adjustright\rin0\lin420\itap0 {\insrsid12475093 the action body, whose syntax is dependent on the type of action
       
   134 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li420\ri0\widctlpar\jclisttab\tx420{\*\pn \pnlvlblt\ilvl0\ls6\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   135 {\pntxtb \'a7}}\faauto\ls6\adjustright\rin0\lin420\itap0 {\insrsid12475093 the expected result: this consists of a return value, which will always be KErrNone in these scripts, and extra fields which depend on the action type
       
   136 \par }\pard \ql \li60\ri0\widctlpar\faauto\adjustright\rin0\lin60\itap0 {\insrsid12475093 
       
   137 \par See the appendix for sample scripts. Your best bet is probably to edit these. Although the scripts to add clients and add certificates are described separately, it is possible to have a single script that does both - just append one to the other.
       
   138 \par {\listtext\pard\plain\s2 \b\i\f1\lang1033\langfe2057\langnp1033\insrsid12475093 \hich\af1\dbch\af0\loch\f1 3.1\tab}}\pard\plain \s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar
       
   139 \jclisttab\tx390\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \b\i\f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Adding clients
       
   140 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 To add clients, you need the script to execute the following actions:
       
   141 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls5\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   142 {\pntxtb \'a7}}\faauto\ls5\adjustright\rin0\lin360\itap0 {\insrsid12475093 create the client manager
       
   143 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls5\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   144 {\pntxtb \'a7}}\faauto\ls5\adjustright\rin0\lin360\itap0 {\insrsid12475093 add each client
       
   145 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls5\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   146 {\pntxtb \'a7}}\faauto\ls5\adjustright\rin0\lin360\itap0 {\insrsid12475093 list the clients, optionally (this is useful as it shows you whether you have successfully added the right set of clients)
       
   147 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls5\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   148 {\pntxtb \'a7}}\faauto\ls5\adjustright\rin0\lin360\itap0 {\insrsid12475093 delete the client manager
       
   149 \par }\pard\plain \s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 3.1.1 Creating the client manager
       
   150 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard\plain \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   151 {\pntxtb \'a7}}\faauto\ls7\adjustright\rin0\lin360\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 identifier: }{\f2\insrsid12475093 initappmanager}{\insrsid12475093 
       
   152 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls8\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   153 {\pntxtb \'a7}}\faauto\ls8\adjustright\rin0\lin360\itap0 {\insrsid12475093 body: empty
       
   154 \par }\pard\plain \s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 3.1.2 Adding clients
       
   155 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 For each client you wish to add, you need to have a separate 'add client' action. 
       
   156 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   157 {\pntxtb \'a7}}\faauto\ls9\adjustright\rin0\lin360\itap0 {\insrsid12475093 identifier: }{\f2\insrsid12475093 addclient
       
   158 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls10\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   159 {\pntxtb \'a7}}\faauto\ls10\adjustright\rin0\lin360\itap0 {\insrsid12475093 body:
       
   160 \par }\pard \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 {\insrsid12475093 \tab name: the name of your client
       
   161 \par \tab UID: your client's UID, specified in decimal
       
   162 \par {\listtext\pard\plain\s3 \f1\lang1033\langfe2057\langnp1033\insrsid12475093 \hich\af1\dbch\af0\loch\f1 3.1.3\tab}}\pard\plain \s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar
       
   163 \jclisttab\tx720\faauto\ls16\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Listing clients
       
   164 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard\plain \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls11\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   165 {\pntxtb \'a7}}\faauto\ls11\adjustright\rin0\lin360\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 identifier: }{\f2\insrsid12475093 getclients}{\insrsid12475093 
       
   166 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls12\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   167 {\pntxtb \'a7}}\faauto\ls12\adjustright\rin0\lin360\itap0 {\insrsid12475093 body: empty
       
   168 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls13\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   169 {\pntxtb \'a7}}\faauto\ls13\adjustright\rin0\lin360\itap0 {\insrsid12475093 expected result: for each client you have added, its UID (this enables it to check that the contents of the store are what you expect)
       
   170 \par }\pard\plain \s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 3.1.4 Deleting the client manager
       
   171 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard\plain \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   172 {\pntxtb \'a7}}\faauto\ls7\adjustright\rin0\lin360\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 identifier: }{\f2\insrsid12475093 deleteappmanager}{\insrsid12475093 
       
   173 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls14\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   174 {\pntxtb \'a7}}\faauto\ls14\adjustright\rin0\lin360\itap0 {\insrsid12475093 body: empty
       
   175 \par {\listtext\pard\plain\s2 \b\i\f1\lang1033\langfe2057\langnp1033\insrsid12475093 \hich\af1\dbch\af0\loch\f1 3.2\tab}}\pard\plain \s2\ql \fi-525\li525\ri0\sb240\sa60\keepn\widctlpar
       
   176 \jclisttab\tx525\faauto\ls16\ilvl1\outlinelevel1\adjustright\rin0\lin525\itap0 \b\i\f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Adding certificates
       
   177 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 To add certificates, you need the script to execute the following actions:
       
   178 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls15\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   179 {\pntxtb \'a7}}\faauto\ls15\adjustright\rin0\lin360\itap0 {\insrsid12475093 create a new file cert store (this is optional: if you want to add certificates to an existing store, do not include this action)
       
   180 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls15\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   181 {\pntxtb \'a7}}\faauto\ls15\adjustright\rin0\lin360\itap0 {\insrsid12475093 initialise the store
       
   182 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls15\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   183 {\pntxtb \'a7}}\faauto\ls15\adjustright\rin0\lin360\itap0 {\insrsid12475093 add the certificates
       
   184 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls15\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   185 {\pntxtb \'a7}}\faauto\ls15\adjustright\rin0\lin360\itap0 {\insrsid12475093 set your client as a truster for each certificate you wish to use as a root
       
   186 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls15\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   187 {\pntxtb \'a7}}\faauto\ls15\adjustright\rin0\lin360\itap0 {\insrsid12475093 mark as trusted each each certificate you wish to use as a root
       
   188 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls15\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   189 {\pntxtb \'a7}}\faauto\ls15\adjustright\rin0\lin360\itap0 {\insrsid12475093 optionally, check that the new certificates exist and are trusted
       
   190 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls15\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   191 {\pntxtb \'a7}}\faauto\ls15\adjustright\rin0\lin360\itap0 {\insrsid12475093 delete the store manager
       
   192 \par }\pard\plain \s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 3.2.1 Create file cert store
       
   193 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard\plain \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   194 {\pntxtb \'a7}}\faauto\ls9\adjustright\rin0\lin360\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 identifier: }{\f2\insrsid12475093 createfilecertstore
       
   195 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls10\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   196 {\pntxtb \'a7}}\faauto\ls10\adjustright\rin0\lin360\itap0 {\insrsid12475093 body:
       
   197 \par }\pard \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 {\insrsid12475093 \tab filename: full path and filename for where the store should be created
       
   198 \par }\pard\plain \s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 3.2.2 Initialise store
       
   199 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard\plain \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   200 {\pntxtb \'a7}}\faauto\ls9\adjustright\rin0\lin360\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 identifier: }{\f2\insrsid12475093 init
       
   201 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls10\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   202 {\pntxtb \'a7}}\faauto\ls10\adjustright\rin0\lin360\itap0 {\insrsid12475093 body:
       
   203 \par }\pard \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 {\insrsid12475093 \tab mode: should be }{\f2\insrsid12475093 write
       
   204 \par }\pard\plain \s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 3.2.3 Add certificate
       
   205 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 For each certificate you want to add, you need a separate add certificate action.
       
   206 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   207 {\pntxtb \'a7}}\faauto\ls9\adjustright\rin0\lin360\itap0 {\insrsid12475093 identifier: }{\f2\insrsid12475093 addcert
       
   208 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls10\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   209 {\pntxtb \'a7}}\faauto\ls10\adjustright\rin0\lin360\itap0 {\insrsid12475093 body:
       
   210 \par }\pard \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 {\insrsid12475093 \tab format: }{\f2\insrsid12475093 X509 }{\insrsid12475093 or}{\f2\insrsid12475093  WTLS
       
   211 \par }{\insrsid12475093 \tab label: human-readable label, must be unique to that store
       
   212 \par \tab issuer key: only needed for user certificates
       
   213 \par \tab subject key: only needed for user certificates
       
   214 \par \tab certstore: identifies which store to add it to: use }{\f2\insrsid12475093 0
       
   215 \par \tab }{\insrsid12475093 certfile: full path and filename for the certificate to add. The certificate needs to be DER-encoded ASN.1 (i.e. }{\i\insrsid12475093 not}{\insrsid12475093  PEM). The path is the emulator's view, so 'c:\\' corresponds to \\epoc32\\
       
   216 release\\win\\c'
       
   217 \par \tab the type of certificate: }{\f2\insrsid12475093 CA}{\insrsid12475093  or }{\f2\insrsid12475093 user}{\insrsid12475093 : use }{\f2\insrsid12475093 CA}{\insrsid12475093  here }{\f2\insrsid12475093 
       
   218 \par }\pard\plain \s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 3.2.4 Set applications
       
   219 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard\plain \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   220 {\pntxtb \'a7}}\faauto\ls9\adjustright\rin0\lin360\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 identifier: }{\f2\insrsid12475093 setapplications
       
   221 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls18\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   222 {\pntxtb \'a7}}\faauto\ls18\adjustright\rin0\lin360\itap0 {\insrsid12475093 body:}{\f2\insrsid12475093 
       
   223 \par }\pard \ql \li720\ri0\widctlpar\faauto\adjustright\rin0\lin720\itap0 {\insrsid12475093 label: the label of the relevant certificate 
       
   224 \par UID: the UID for the relevant application
       
   225 \par }\pard\plain \s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 3.2.5 Set trust
       
   226 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard\plain \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   227 {\pntxtb \'a7}}\faauto\ls9\adjustright\rin0\lin360\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 identifier: }{\f2\insrsid12475093 settrust
       
   228 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls18\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   229 {\pntxtb \'a7}}\faauto\ls18\adjustright\rin0\lin360\itap0 {\insrsid12475093 body:}{\f2\insrsid12475093 
       
   230 \par }\pard \ql \li720\ri0\widctlpar\faauto\adjustright\rin0\lin720\itap0 {\insrsid12475093 label: the label of the relevant certificate 
       
   231 \par }\pard \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 {\insrsid12475093 \tab trust: 1 to trust this certificate}{\f2\insrsid12475093 
       
   232 \par }\pard\plain \s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 3.2.6 Get trusters
       
   233 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 This is optional. It will show you the list of clients which trust a specified certificate. 
       
   234 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   235 {\pntxtb \'a7}}\faauto\ls9\adjustright\rin0\lin360\itap0 {\insrsid12475093 identifier: }{\f2\insrsid12475093 getapplications
       
   236 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls18\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   237 {\pntxtb \'a7}}\faauto\ls18\adjustright\rin0\lin360\itap0 {\insrsid12475093 body:}{\f2\insrsid12475093 
       
   238 \par }\pard \ql \li720\ri0\widctlpar\faauto\adjustright\rin0\lin720\itap0 {\insrsid12475093 label: the label of the relevant certificate 
       
   239 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls20\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   240 {\pntxtb \'a7}}\faauto\ls20\adjustright\rin0\lin360\itap0 {\insrsid12475093 result
       
   241 \par }\pard \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 {\insrsid12475093 \tab the UID of each application we expect
       
   242 \par }\pard\plain \s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 3.2.7 Deleting the store manager
       
   243 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard\plain \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls9\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   244 {\pntxtb \'a7}}\faauto\ls9\adjustright\rin0\lin360\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 identifier: }{\f2\insrsid12475093 delete
       
   245 \par {\pntext\pard\plain\f10\fs20\lang1033\langfe2057\langnp1033\insrsid12475093 \loch\af10\dbch\af0\hich\f10 \'a7\tab}}\pard \ql \fi-360\li360\ri0\widctlpar\jclisttab\tx360{\*\pn \pnlvlblt\ilvl0\ls18\pnrnot0\pnf10\pnstart1\pnindent360\pnsp120\pnhang 
       
   246 {\pntxtb \'a7}}\faauto\ls18\adjustright\rin0\lin360\itap0 {\insrsid12475093 body:}{\f2\insrsid12475093  }{\insrsid12475093 empty
       
   247 \par }\pard \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 {\insrsid12475093 
       
   248 \par 
       
   249 \par {\listtext\pard\plain\s1 \b\f1\fs28\lang1033\langfe2057\langnp1033\insrsid12475093 \hich\af1\dbch\af0\loch\f1 4\tab}}\pard\plain \s1\ql \fi-525\li525\ri0\keepn\widctlpar\jclisttab\tx525\faauto\ls16\outlinelevel0\adjustright\rin0\lin525\itap0 
       
   250 \b\f1\fs28\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Building and running the test code
       
   251 \par {\listtext\pard\plain\s2 \b\i\f1\lang1033\langfe2057\langnp1033\insrsid12475093 \hich\af1\dbch\af0\loch\f1 4.1\tab}}\pard\plain \s2\ql \fi-525\li525\ri0\sb240\sa60\keepn\widctlpar
       
   252 \jclisttab\tx525\faauto\ls16\ilvl1\outlinelevel1\adjustright\rin0\lin525\itap0 \b\i\f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Building the test framework
       
   253 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 The test framework used by the certificate store test code is located in }{\f2\insrsid12475093 'security\\
       
   254 testframework'}{\insrsid12475093 . From }{\f2\insrsid12475093 security\\testframework\\group}{\insrsid12475093 , type:
       
   255 \par 
       
   256 \par }{\f2\insrsid12475093 bldmake bldfiles
       
   257 \par able test build}{\insrsid12475093 
       
   258 \par 
       
   259 \par {\listtext\pard\plain\s2 \b\i\f1\lang1033\langfe2057\langnp1033\insrsid12475093 \hich\af1\dbch\af0\loch\f1 4.2\tab}}\pard\plain \s2\ql \fi-525\li525\ri0\sb240\sa60\keepn\widctlpar
       
   260 \jclisttab\tx525\faauto\ls16\ilvl1\outlinelevel1\adjustright\rin0\lin525\itap0 \b\i\f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Building the certificate store test code
       
   261 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 The test framework used by the certificate store test code is located in }{\f2\insrsid12475093 'security\\
       
   262 certman'}{\insrsid12475093 . From }{\f2\insrsid12475093 security\\certman\\group}{\insrsid12475093 , type:
       
   263 \par 
       
   264 \par }{\f2\insrsid12475093 bldmake bldfiles
       
   265 \par able test build
       
   266 \par {\listtext\pard\plain\s2 \b\i\f1\lang1033\langfe2057\langnp1033\insrsid12475093 \hich\af1\dbch\af0\loch\f1 4.3\tab}}\pard\plain \s2\ql \fi-525\li525\ri0\sb240\sa60\keepn\widctlpar
       
   267 \jclisttab\tx525\faauto\ls16\ilvl1\outlinelevel1\adjustright\rin0\lin525\itap0 \b\i\f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Running the test code
       
   268 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 The test harness to run is t_certstore.exe (it is located in \\epoc32\\release\\wins\\udeb\\
       
   269 ). The test harness takes two command line arguments : the name of the script to run and the name of a log file. In order to run a script called }{\i\insrsid12475093 script.txt}{\insrsid12475093  and output the result to }{\i\insrsid12475093 log.txt, }{
       
   270 \insrsid12475093 you have to type the following command:
       
   271 \par 
       
   272 \par }\pard\plain \s15\ql \li0\ri0\sa120\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f2\fs20\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 {\insrsid12475093 t_certstore script.txt log.txt
       
   273 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Because the test code runs in the emulator, its view of the file system is that }{\f2\insrsid12475093 c:\\}
       
   274 {\insrsid12475093  is found at NT's }{\f2\insrsid12475093 \\epoc32\\wins\\c}{\insrsid12475093 . So in the example above, }{\f2\insrsid12475093 script}{\insrsid12475093  needs to be placed at }{\f2\insrsid12475093 \\epoc32\\wins\\c}{\insrsid12475093 , and 
       
   275 }{\f2\insrsid12475093 log}{\insrsid12475093  will be created in }{\f2\insrsid12475093 \\epoc32\\wins\\c}{\insrsid12475093 .  The \lquote console\rquote  option is necessary to ensure the tool can operate independently of the UI environment.
       
   276 \par 
       
   277 \par By default, the test harness runs and closes the emulator immediately. This makes it impossible to view the results on the screen (but they a
       
   278 re in the log) but makes it possible to run the test unattended. It is possible to request that the test harness waits for a key press before closing the emulator by adding a \endash w at the end of the command line. You would then type
       
   279 \par }\pard\plain \s15\ql \li0\ri0\sa120\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f2\fs20\lang2057\langfe2057\cgrid\langnp2057\langfenp2057 {\insrsid12475093 t_certstore script.txt log.txt -w
       
   280 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 and you have to press a key to close the emulator after the end of the tests.
       
   281 \par 
       
   282 \par 
       
   283 \par 
       
   284 \par 
       
   285 \par 
       
   286 \par 
       
   287 \par 
       
   288 \par 
       
   289 \par 
       
   290 \par 
       
   291 \par 
       
   292 \par 
       
   293 \par 
       
   294 \par 
       
   295 \par 
       
   296 \par 
       
   297 \par 
       
   298 \par 
       
   299 \par 
       
   300 \par }\pard\plain \s1\ql \li0\ri0\keepn\widctlpar\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \b\f1\fs28\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Appendix: Sample scripts
       
   301 \par }\pard\plain \s2\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel1\adjustright\rin0\lin0\itap0 \b\i\f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Adding clients
       
   302 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 
       
   303 \par The following script will add a single client called 'MyClient' with a UID of 123456.
       
   304 \par 
       
   305 \par }{\f2\insrsid12475093 <action>
       
   306 \par \tab <actionname>Creating a CertificateAppInfoManager</actionname>
       
   307 \par \tab <actiontype>initappmanager</actiontype>
       
   308 \par \tab <actionbody></actionbody>
       
   309 \par \tab <actionresult>
       
   310 \par \tab \tab <return>KErrNone</return>
       
   311 \par \tab </actionresult>
       
   312 \par </action>
       
   313 \par <action>
       
   314 \par \tab <actionname>Adding client MyClient</actionname>
       
   315 \par \tab <actiontype>addclient</actiontype>
       
   316 \par \tab <actionbody>
       
   317 \par \tab \tab <name>MyClient</name>
       
   318 \par \tab \tab <uid>123456</uid>
       
   319 \par \tab </actionbody>
       
   320 \par \tab <actionresult>
       
   321 \par \tab \tab <return>KErrNone</return>
       
   322 \par \tab </actionresult>
       
   323 \par </action>
       
   324 \par 
       
   325 \par <action>
       
   326 \par \tab <actionname>Retrieving the clients</actionname>
       
   327 \par \tab <actiontype>getclients</actiontype>
       
   328 \par \tab <actionbody></actionbody>
       
   329 \par \tab <actionresult>
       
   330 \par \tab \tab <return>KErrNone</return>
       
   331 \par \tab \tab <uid>123456</uid>
       
   332 \par \tab </actionresult>
       
   333 \par </action>
       
   334 \par 
       
   335 \par <action>
       
   336 \par \tab <actionname>Deleting the CertificateAppInfoManager</actionname>
       
   337 \par \tab <actiontype>deleteappmanager</actiontype>
       
   338 \par \tab <actionbody></actionbody>
       
   339 \par \tab <actionresult>
       
   340 \par \tab \tab <return>KErrNone</return>
       
   341 \par \tab </actionresult>
       
   342 \par </action>
       
   343 \par }{\insrsid12475093 
       
   344 \par 
       
   345 \par 
       
   346 \par 
       
   347 \par 
       
   348 \par 
       
   349 \par 
       
   350 \par 
       
   351 \par 
       
   352 \par }\pard\plain \s2\ql \li0\ri0\sb240\sa60\keepn\widctlpar\faauto\outlinelevel1\adjustright\rin0\lin0\itap0 \b\i\f1\fs24\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 Adding certificates
       
   353 \par }\pard\plain \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 \f1\fs20\lang1033\langfe2057\cgrid\langnp1033\langfenp2057 {\insrsid12475093 The following script will create a new certificate store, and add the X.509 certificate found in c:\\
       
   354 thawtetest.crt as a CA certificate with the label 'Thawte Root', trusted by the client with UID 123456. 
       
   355 \par }\pard \ql \fi60\li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 {\insrsid12475093 
       
   356 \par }\pard \ql \li0\ri0\widctlpar\faauto\adjustright\rin0\lin0\itap0 {\f2\insrsid12475093 <action>
       
   357 \par \tab <actionname>Creating a new file certstore</actionname>
       
   358 \par \tab <actiontype>createfilecertstore</actiontype>
       
   359 \par \tab <actionbody>
       
   360 \par \tab \tab <filename>c:\\cacerts.dat</filename>
       
   361 \par \tab </actionbody>
       
   362 \par \tab <actionresult>
       
   363 \par \tab \tab <return>KErrNone</return>
       
   364 \par \tab </actionresult>
       
   365 \par </action>
       
   366 \par 
       
   367 \par <action>
       
   368 \par \tab <actionname>Initializing a CUnifiedCertStore</actionname>
       
   369 \par \tab <actiontype>init</actiontype>
       
   370 \par \tab <actionbody>
       
   371 \par \tab \tab <mode>write</mode>
       
   372 \par \tab </actionbody>
       
   373 \par \tab <actionresult>
       
   374 \par \tab \tab <return>KErrNone</return>
       
   375 \par \tab </actionresult>
       
   376 \par </action>
       
   377 \par 
       
   378 \par <action>
       
   379 \par \tab <actionname>Add the certificate Thawte Root</actionname>
       
   380 \par \tab <actiontype>addcert</actiontype>
       
   381 \par \tab <actionbody>
       
   382 \par \tab \tab <format>X509</format>
       
   383 \par \tab \tab <label>Thawte Root</label>
       
   384 \par \tab \tab <issuerkey></issuerkey>
       
   385 \par \tab \tab <subjectkey></subjectkey>
       
   386 \par \tab \tab <certstore>0</certstore>
       
   387 \par \tab \tab <certfile>c:\\thawtetest.crt</certfile>
       
   388 \par \tab \tab <certowner>CA</certowner>
       
   389 \par \tab </actionbody>
       
   390 \par \tab <actionresult>
       
   391 \par \tab \tab <return>KErrNone</return>
       
   392 \par \tab </actionresult>
       
   393 \par </action>
       
   394 \par 
       
   395 \par <action>
       
   396 \par \tab <actionname>Set applications for Thawte Root</actionname>
       
   397 \par \tab <actiontype>setapplications</actiontype>
       
   398 \par \tab <actionbody>
       
   399 \par \tab \tab <label>Thawte Root</label>
       
   400 \par \tab \tab <uid>123456</uid>
       
   401 \par \tab </actionbody>
       
   402 \par \tab <actionresult>
       
   403 \par \tab \tab <return>KErrNone</return>
       
   404 \par \tab </actionresult>
       
   405 \par </action>
       
   406 \par 
       
   407 \par <action>
       
   408 \par \tab <actionname>Set the trust for Thawte Root </actionname>
       
   409 \par \tab <actiontype>settrust</actiontype>
       
   410 \par \tab <actionbody>
       
   411 \par \tab \tab <label>Thawte Root</label>
       
   412 \par \tab \tab <trust>1</trust>
       
   413 \par \tab </actionbody>
       
   414 \par \tab <actionresult>
       
   415 \par \tab \tab <return>KErrNone</return>
       
   416 \par \tab </actionresult>
       
   417 \par </action>
       
   418 \par 
       
   419 \par <action>
       
   420 \par \tab <actionname>Get applications for Thawte Root</actionname>
       
   421 \par \tab <actiontype>getapplications</actiontype>
       
   422 \par \tab <actionbody>
       
   423 \par \tab \tab <label>Thawte Root</label>
       
   424 \par \tab </actionbody>
       
   425 \par \tab <actionresult>
       
   426 \par \tab \tab <return>KErrNone</return>
       
   427 \par \tab \tab <uid>123456</uid>
       
   428 \par \tab </actionresult>
       
   429 \par </action>
       
   430 \par 
       
   431 \par <action>
       
   432 \par \tab <actionname>Deleting the certificate store manager</actionname>
       
   433 \par \tab <actiontype>delete</actiontype>
       
   434 \par \tab <actionbody></actionbody>
       
   435 \par \tab <actionresult>
       
   436 \par \tab \tab <return>KErrNone</return>
       
   437 \par \tab </actionresult>
       
   438 \par </action>
       
   439 \par }{\insrsid12475093 
       
   440 \par }}