Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
appnote:etoken [2021/02/22 16:50]
mcb30
appnote:etoken [2022/01/10 13:38]
mcb30
Line 5: Line 5:
 ==== EV Code Signing Certificate ==== ==== EV Code Signing Certificate ====
  
-Microsoft requires submitted UEFI binaries to be signed using an EV Code Signing certificate. ​ These can be obtained from providers such as [[https://​www.digicert.com/​friends/​sysdev/​|DigiCert]] at a cost of around US$500 for a three-year certificate. ​ Note that you must purchase the more expensive **EV Code Signing Certificate** for signing UEFI submissions;​ the regular Code Signing Certificate will not be accepted by Microsoft.+Microsoft requires submitted UEFI binaries to be signed using an EV Code Signing certificate. ​ These can be obtained from providers such as [[https://​www.digicert.com/​friends/​sysdev/​|DigiCert]] at a cost of around US$2000 for a three-year certificate. ​ Note that you must purchase the more expensive **EV Code Signing Certificate** for signing UEFI submissions;​ the regular Code Signing Certificate will not be accepted by Microsoft.
  
-==== Aladdin ​eToken ​PRO 72k (Java) ​====+==== SafeNet ​eToken ​5110 SC ====
  
 {{ :​clipart:​etoken.jpeg?​160x120|An Aladdin eToken}} {{ :​clipart:​etoken.jpeg?​160x120|An Aladdin eToken}}
  
-At the time of writing, DigiCert provides EV Code Signing Certificates in the form of an Aladdin eToken ​PRO 72k (Java) ​USB hardware token. ​ The token contains the certificate and the corresponding private key.+At the time of writing, DigiCert provides EV Code Signing Certificates in the form of an Aladdin/​SafeNet ​eToken ​5110 SC USB hardware token. ​ The token contains the certificate and the corresponding private key.
  
-The token is almost (but not quite) supported by the various open source hardware token drivers available for Linux. ​ As an interim measure, you can download and install the proprietary [[https://​www.digicert.com/​StaticFiles/​SafeNetAuthenticationClient-SAC_9_0_43_Linux.zip|Safenet Authentication Client]]. ​ The Safenet Authentication Client includes many features which you don't need or want (such as GUI tools and RPM post-installation scripts which cause Firefox to automatically attempt to use your certificate to identify you to every website that you visit): you probably want to disable or delete most of these after installation.+The token is almost (but not quite) supported by the various open source hardware token drivers available for Linux. ​ As an interim measure, you can download and install the proprietary [[https://​www.digicert.com/​StaticFiles/​SAC_10_0_Linux_Post_GA.zip|Safenet Authentication Client]]. ​ The Safenet Authentication Client includes many features which you don't need or want (such as GUI tools and RPM post-installation scripts which cause Firefox to automatically attempt to use your certificate to identify you to every website that you visit): you probably want to disable or delete most of these after installation.
  
 The only required portion of the Safenet Authentication Client software is the library ''/​usr/​lib64/​libeToken.so''​. ​ This library provides a standardised PKCS#11 API which allows tools such as ''​[[https://​github.com/​OpenSC/​OpenSC/​wiki|opensc]]''​ and ''​[[https://​www.openssl.org|openssl]]''​ to use the hardware token. The only required portion of the Safenet Authentication Client software is the library ''/​usr/​lib64/​libeToken.so''​. ​ This library provides a standardised PKCS#11 API which allows tools such as ''​[[https://​github.com/​OpenSC/​OpenSC/​wiki|opensc]]''​ and ''​[[https://​www.openssl.org|openssl]]''​ to use the hardware token.
Line 37: Line 37:
     Certificate Object, type = X.509 cert     Certificate Object, type = X.509 cert
       label: ​     Fen Systems Ltd.       label: ​     Fen Systems Ltd.
-      ID:         3342cb0ff9b8e672bdcecbff80ebf89f9c785ce5+      ID:         5cd7b749c6f1a3e61eb25e333b842fa0366da402
  
 The certificate can then be extracted using the command The certificate can then be extracted using the command
  
-    pkcs11-tool --module libeToken.so --read-object --type cert --id 3342cb0ff9b8e672bdcecbff80ebf89f9c785ce5 ​\+    pkcs11-tool --module libeToken.so --read-object --type cert --id 5cd7b749c6f1a3e61eb25e333b842fa0366da402 ​\
         | openssl x509 -inform DER -out codesigning.crt         | openssl x509 -inform DER -out codesigning.crt
  
-(replacing "''​3342cb0ff9b8e672bdcecbff80ebf89f9c785ce5''"​ with the ID of your certificate). ​ This will give you a file ''​codesigning.crt''​ containing your code signing certificate (but not the private key, which remains on the token). ​ You can examine the contents of ''​codesigning.crt''​ using+(replacing "''​5cd7b749c6f1a3e61eb25e333b842fa0366da402''"​ with the ID of your certificate). ​ This will give you a file ''​codesigning.crt''​ containing your code signing certificate (but not the private key, which remains on the token). ​ You can examine the contents of ''​codesigning.crt''​ using
  
     openssl x509 -in codesigning.crt -noout -text     openssl x509 -in codesigning.crt -noout -text
Line 89: Line 89:
                  ​-pkcs11module /​usr/​lib64/​libeToken.so -certs codesigning.crt \                  ​-pkcs11module /​usr/​lib64/​libeToken.so -certs codesigning.crt \
                  -h sha256 -askpass -t http://​timestamp.digicert.com \                  -h sha256 -askpass -t http://​timestamp.digicert.com \
-                 ​-key ​3342cb0ff9b8e672bdcecbff80ebf89f9c785ce5 \+                 ​-key ​5cd7b749c6f1a3e61eb25e333b842fa0366da402
                  -in submission.cab -out submission-signed.cab                  -in submission.cab -out submission-signed.cab
  
-(replacing "''​3342cb0ff9b8e672bdcecbff80ebf89f9c785ce5''"​ with the ID of your certificate as before).+(replacing "''​5cd7b749c6f1a3e61eb25e333b842fa0366da402''"​ with the ID of your certificate as before).
  
 ==== Submitting to Microsoft ==== ==== Submitting to Microsoft ====
appnote/etoken.txt ยท Last modified: 2023/08/31 10:58 by mcb30
Recent changes RSS feed CC Attribution-Share Alike 4.0 International Driven by DokuWiki
All uses of this content must include an attribution to the iPXE project and the URL https://ipxe.org
References to "iPXE" may not be altered or removed.