~ubuntu-branches/ubuntu/karmic/opensc/karmic-updates

« back to all changes in this revision

Viewing changes to doc/ReplacingCertificates.html

  • Committer: Bazaar Package Importer
  • Author(s): Eric Dorland
  • Date: 2009-03-29 03:56:10 UTC
  • mto: (8.2.1 squeeze)
  • mto: This revision was merged to the branch mainline in revision 17.
  • Revision ID: james.westby@ubuntu.com-20090329035610-y7v5a3f0852p4da8
Tags: upstream-0.11.7
ImportĀ upstreamĀ versionĀ 0.11.7

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
2
 
<title>ReplacingCertificates - OpenSC - Trac</title><style type="text/css">
3
 
           @import url(trac.css);
4
 
          </style></head><body><div class="wikipage">
5
 
    <div id="searchable"><h1 id="Replacingacertificateonacard">Replacing a certificate on a card</h1>
6
 
<p>
7
 
Unfortunatly not all cards allow to replace a certificate with a new one.
8
 
Here is a small HOWTO for Aladdin eToken PRO (should work with any cardos card).
9
 
</p>
10
 
<p>
11
 
1. Create a new certificate. If it's a self signed certificate, don't forget to add the -days attribute, else you'll have to do this process very often.
12
 
</p>
13
 
<p>
14
 
2. If you have the certificate PEM encoded (this is very likely if you use the default settings of openssl) then convert it to DER encoded:
15
 
</p>
16
 
<pre class="wiki" xml:space="preserve">$ openssl x509 -in mycert.pem -outform DER -out mycert.der
17
 
</pre><p>
18
 
3. Now get the path of the certificate:
19
 
</p>
20
 
<pre class="wiki" xml:space="preserve"> $ pkcs15-tool -c
21
 
X.509 Certificate [Certificate]
22
 
        Flags    : 2
23
 
        Authority: no
24
 
        Path     : 3F0050154301
25
 
        ID       : 45
26
 
 
27
 
</pre><p>
28
 
The path here is: 3F0050154301
29
 
</p>
30
 
<p>
31
 
4. open up opensc-explorer
32
 
</p>
33
 
<pre class="wiki" xml:space="preserve">OpenSC &gt; cd 5015
34
 
</pre><p>
35
 
5.  present the valid key for the certificate file, usually the normal pin. You can get info about wich pin to use by executing:
36
 
</p>
37
 
<pre class="wiki" xml:space="preserve">OpenSC &gt; info [EF]
38
 
</pre><p>
39
 
where [EF] is the name of the cert EF (in the above example 4301)
40
 
</p>
41
 
<p>
42
 
You'll need the key in hexadecimal format, an example how to convert it:
43
 
</p>
44
 
<pre class="wiki" xml:space="preserve"> $ export HISTFILE=
45
 
 $ php -r 'echo bin2hex("pssword")."\n";'
46
 
707373776f7264
47
 
</pre><p>
48
 
You'll have to add the colons manually. If your password is shorter than 8 characters, fill it up with 00-s. So with the above example you enter at the opensc-explorer:
49
 
</p>
50
 
<pre class="wiki" xml:space="preserve">OpenSC &gt; verify CHV3 70:73:73:77:6f:72:64:00
51
 
</pre><p>
52
 
Code correct.
53
 
</p>
54
 
<p>
55
 
6. Now you can load the data from the DER encoded file into the EF on the card:
56
 
</p>
57
 
<pre class="wiki" xml:space="preserve">OpenSC &gt; put 4301 mycert.der
58
 
</pre><p>
59
 
If you get no errors, then you're done.
60
 
</p>
61
 
<p>
62
 
Remarks:
63
 
</p>
64
 
<ul><li>This isn't the preferred way for everyday users to replace the certificates. Maybe this isn't even for the user's mailing list, but I couldn't find any description how to solve this dangerous yet very urging problem.
65
 
</li></ul><ul><li>This may not work on some cards.
66
 
</li></ul><ul><li>Since the key isn't changed, after replacing the old certificate you
67
 
</li></ul><p>
68
 
_won't_ need to replace your .eid/authorized_certificates, or .ssh/authorized_keys files.
69
 
</p>
70
 
<ul><li>I had to delete the contents of the .eid/cache/ directory for Mozilla to see the new certificate correctly.
71
 
</li></ul><p>
72
 
Thanks to  Attila Nagy for this information.
73
 
</p>
74
 
</div>
75
 
   </div><div class="footer"><hr></hr><p><a href="index.html">Back to Index</a></p></div></body></html>