Подписване на файлове чрез NSS: Разлика между версии

От Infonotary
Направо към навигацията Направо към търсенето
(Добавени са категории)
Редакция без резюме
Ред 1: Ред 1:
В случй че използвате операционна система, за която няма версия на InfoNotary e-Doc Signer може да използвате следното ръководство за да подпишете файл с вашият КЕП чрез криптографската библиотека на Mozilla (NSS). Или по-точно чрез помощните програми разпространявани с NSS (nss-tools). Версии на nss-tools има за всички операционни системи за които има и версия на Firefox.
В случй че използвате операционна система, за която няма версия на InfoNotary e-Doc Signer, може да използвате следното ръководство, за да подпишете файл с вашия КЕП чрез криптографската библиотека на Mozilla (NSS). Или по-точно чрез помощните програми, разпространявани с NSS (nss-tools). Версии на nss-tools има за всички операционни системи, за които има и версия на Firefox.


= Инсталация на NSS tools =
= Инсталация на NSS tools =
Ред 5: Ред 5:
== Linux ==
== Linux ==


В зависимост от дистрибуцията, която използвате изпълнете някоя от следните команди:
В зависимост от дистрибуцията, която използвате, изпълнете някоя от следните команди:


* За Debian и Ubuntu: {{Шаблон:Console|sudo apt-get install libnss3-tools}}
* За Debian и Ubuntu: {{Шаблон:Console|sudo apt-get install libnss3-tools}}
Ред 16: Ред 16:
# Изтеглете си NSS-3.12.4 от [ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_4_RTM/Darwin9.8.0_OPT.OBJ/nss-3.12.4.zip ftp сървъра на Mozilla] и го разархивирайте.
# Изтеглете си NSS-3.12.4 от [ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_4_RTM/Darwin9.8.0_OPT.OBJ/nss-3.12.4.zip ftp сървъра на Mozilla] и го разархивирайте.
# Копирайте всички файлове от папката nss-3.12.4/lib в папката nss-3.12.4/bin.
# Копирайте всички файлове от папката nss-3.12.4/lib в папката nss-3.12.4/bin.
# Стартирайте терминал и сменете текущтата директория с nss-3.12.4/bin. Ако сте разархивирали NSS в Downloads това може да стане с командата {{Шаблон:Console|cd Downloads/nss-3.12.4/bin}}.
# Стартирайте терминал и сменете текущата директория с nss-3.12.4/bin. Ако сте разархивирали NSS в Downloads, това може да стане с командата {{Шаблон:Console|cd Downloads/nss-3.12.4/bin}}.
Понеже помощните програми на NSS не са инстали в някоя от стандартните папки за програми на Mac OS X, ще трябва да изпълнявате всики команди показани по-долу със следният префикс - „./“. Например ./certutil вместо certutil.
Понеже помощните програми на NSS не са инсталирани в някоя от стандартните папки за програми на Mac OS X, ще трябва да изпълнявате всики команди, показани по-долу със следния префикс - „./“. Например ./certutil вместо certutil.


= Начално конфигуриране =
= Начално конфигуриране =


Всички стъпки, описани по-долу, се правят еднократно. След като веднъж сте добавили всичката необходима информация в базата данни на NSS няма нужда да го правите повторно.
Всички стъпки, описани по-долу, се правят еднократно. След като веднъж сте добавили всичката необходима информация в базата данни на NSS, няма нужда да го правите повторно.


== Създаване на база данни ==
== Създаване на база данни ==


В това ръководство се използва [https://wiki.mozilla.org/NSS_Shared_DB_And_LINUX споделена база данни на NSS]. По същият начин работи и Google Chrome под Linux, така че ако използвате Linux и Chrome може да пропуснете тази стъпка.
В това ръководство се използва [https://wiki.mozilla.org/NSS_Shared_DB_And_LINUX споделена база данни на NSS]. По същия начин работи и Google Chrome под Linux, така че ако използвате Linux и Chrome, може да пропуснете тази стъпка.


Първо трябва да създадете папката в която ще се разположи базата данни - {{Шаблон:Console|mkdir $HOME/.pki/nssdb}}. Тази команда си е от стандартните, така че няма нужда да слагате префикс в случай че ползвате Mac OS X.
Първо трябва да създадете папката, в която ще се разположи базата данни - {{Шаблон:Console|mkdir $HOME/.pki/nssdb}}. Тази команда си е от стандартните, така че няма нужда да слагате префикс, в случай че ползвате Mac OS X.
След създаването на папката трябва да се създаде и самата база данни със следната команда - {{Шаблон:Console|certutil -N -d sql:$HOME/.pki/nssdb}}.
След създаването на папката трябва да се създаде и самата база данни със следната команда - {{Шаблон:Console|certutil -N -d sql:$HOME/.pki/nssdb}}.


== Добавяне на удостоверителната верига на Инфонотари ==
== Добавяне на удостоверителната верига на Инфонотари ==


Следващата стъпка е да добавите удостоверителната верига на Инфонотари към новосъздадената база данни. За целта трябва да си изтеглите следните няколко файла от нашият сайт:
Следващата стъпка е да добавите удостоверителната верига на Инфонотари към новосъздадената база данни. За целта трябва да си изтеглите следните няколко файла от нашия сайт:
* [http://www.infonotary.com/site/files/in-csp-root.cer InfoNotary CSP Root]
* [http://www.infonotary.com/site/files/in-csp-root.cer InfoNotary CSP Root]
* [http://www.infonotary.com/site/files/qs-ca.cer i-Notary Q Sign CA]
* [http://www.infonotary.com/site/files/qs-ca.cer i-Notary Q Sign CA]
Ред 38: Ред 38:
* [http://www.infonotary.com/site/files/pqs-ca.cer i-Notary Personal Q Sign CA]
* [http://www.infonotary.com/site/files/pqs-ca.cer i-Notary Personal Q Sign CA]


Слеващите четри команди приемат че сте записали файловете на десктопа. Ако сте ги записали на друго място променете пътя до тях в последният параметър:
Слеващите четири команди приемат, че сте записали файловете на десктопа. Ако сте ги записали на друго място, променете пътя до тях в последния параметър:
Добавяне на базовото удостоверение - {{Шаблон:Console|certutil -d sql:$HOME/.pki/nssdb -A -t "CT,C,C" -n "InfoNotary CSP Root" -i $HOME/Desktop/in-csp-root.cer}}
Добавяне на базовото удостоверение - {{Шаблон:Console|certutil -d sql:$HOME/.pki/nssdb -A -t "CT,C,C" -n "InfoNotary CSP Root" -i $HOME/Desktop/in-csp-root.cer}}


Ред 50: Ред 50:
За да имате достъп до удостоверенията на смарт картата си, ще трябва да регистрирате PKCS#11 модула картата в базата данни. Това става чрез програмата modutil - {{Шаблон:Console|modutil -dbdir "database" -add "име" -libfile "път до PKCS#11 библиотеката"}}
За да имате достъп до удостоверенията на смарт картата си, ще трябва да регистрирате PKCS#11 модула картата в базата данни. Това става чрез програмата modutil - {{Шаблон:Console|modutil -dbdir "database" -add "име" -libfile "път до PKCS#11 библиотеката"}}


В случай че използвате Linux с OpenSC командата ще е следната:<br/>
В случай че използвате Linux с OpenSC, командата ще е следната:<br/>
{{Шаблон:Console|modutil -dbdir sql:$HOME/.pki/nssdb -add "OpenSC" -libfile "/usr/lib/onepin-opensc-pkcs11.so"}}
{{Шаблон:Console|modutil -dbdir sql:$HOME/.pki/nssdb -add "OpenSC" -libfile "/usr/lib/onepin-opensc-pkcs11.so"}}


Ред 76: Ред 76:
token: InfoNotary
token: InfoNotary
</pre>
</pre>
В случая Bit4id е името, което съм залал при добавянето на модула, а името на картата е InfoNotary.
В случая Bit4id е името, което съм задал при добавянето на модула, а името на картата е InfoNotary.


== Показване на всички удостоверения на картата ==
== Показване на всички удостоверения на картата ==


За да подпишете файл чрез NSS трябва да получите името с което удостоверението от картата е регистрирано в базата данни. За да го видите трябва да изпълните следната команда - {{Шаблон:Console|certutil -d sql:$HOME/.pki/nssdb -L -h InfoNotary}}
За да подпишете файл чрез NSS, трябва да получите името, с което удостоверението от картата е регистрирано в базата данни. За да го видите, трябва да изпълните следната команда - {{Шаблон:Console|certutil -d sql:$HOME/.pki/nssdb -L -h InfoNotary}}


В случая InfoNotary е името на картата (token: от предишната команда). Трябва да получите изход подобен на този:
В случая InfoNotary е името на картата (token: от предишната команда). Трябва да получите изход, подобен на този:
<pre>
<pre>
Certificate Nickname                                        Trust Attributes
Certificate Nickname                                        Trust Attributes
Ред 90: Ред 90:
InfoNotary:213A799A-D4E3-47AF-82B0-D62B1DC746B5            u,u,u
InfoNotary:213A799A-D4E3-47AF-82B0-D62B1DC746B5            u,u,u
</pre>
</pre>
Certificate Nickname ще ни трябва за следващата команда. Ако имате повече от един сертификат на картата ще трябва да ползвате някоя програма предоставена от производителя или нашият Smart Card Manager за да видите етикета на сертификата. NSS по принцип генерира nikname на сертификата в следният формат „име на карата:етикет на сертификата“.
Certificate Nickname ще ни трябва за следващата команда. Ако имате повече от един сертификат на картата, ще трябва да ползвате някоя програма, предоставена от производителя или нашия Smart Card Manager, за да видите етикета на сертификата. NSS по принцип генерира nickname на сертификата в следния формат „име на карата:етикет на сертификата“.


= Подписване на файл =
= Подписване на файл =
Ред 97: Ред 97:
{{Шаблон:Console|cmsutil -d sql:$HOME/.pki/nssdb -S -T -N InfoNotary:213A799A-D4E3-47AF-82B0-D62B1DC746B5 -i data.txt -o data.txt.p7s}}
{{Шаблон:Console|cmsutil -d sql:$HOME/.pki/nssdb -S -T -N InfoNotary:213A799A-D4E3-47AF-82B0-D62B1DC746B5 -i data.txt -o data.txt.p7s}}


InfoNotary:213A799A-D4E3-47AF-82B0-D62B1DC746B5 е името на сертификата от предишната команда, data.txt е файлът, който се подписва, а подписа ще бъде записан в data.txt.p7s. В случай че файловете не са в текущата папка ще трябва да укажете пълният път до тях, Например за подписване на файл на десктопа командата ще е следната:
InfoNotary:213A799A-D4E3-47AF-82B0-D62B1DC746B5 е името на сертификата от предишната команда, data.txt е файлът, който се подписва, а подписът ще бъде записан в data.txt.p7s. В случай че файловете не са в текущата папка, ще трябва да укажете пълния път до тях, Например за подписване на файл на десктопа командата ще е следната:


{{Шаблон:Console|cmsutil -d sql:$HOME/.pki/nssdb -S -T -N InfoNotary:213A799A-D4E3-47AF-82B0-D62B1DC746B5 -i $HOME/Desktop/data.txt -o $HOME/Desktop/data.txt.p7s}}
{{Шаблон:Console|cmsutil -d sql:$HOME/.pki/nssdb -S -T -N InfoNotary:213A799A-D4E3-47AF-82B0-D62B1DC746B5 -i $HOME/Desktop/data.txt -o $HOME/Desktop/data.txt.p7s}}


Горните команди генерират подпис в отделен файл, каквито са текущите изисквания на НАП. Ако искате да генерирате подпис, който съдържа и самият файл трябва от командата за подписване да премахнете параметъра „-T“.
Горните команди генерират подпис в отделен файл, каквито са текущите изисквания на НАП. Ако искате да генерирате подпис, който съдържа и самия файл, трябва от командата за подписване да премахнете параметъра „-T“.


[[Категория:Linux]]
[[Категория:Linux]]
[[Категория:Mac OS X]]
[[Категория:Mac OS X]]
[[Категория:Помощ]]
[[Категория:Помощ]]

Версия от 14:45, 12 юли 2011

В случй че използвате операционна система, за която няма версия на InfoNotary e-Doc Signer, може да използвате следното ръководство, за да подпишете файл с вашия КЕП чрез криптографската библиотека на Mozilla (NSS). Или по-точно чрез помощните програми, разпространявани с NSS (nss-tools). Версии на nss-tools има за всички операционни системи, за които има и версия на Firefox.

Инсталация на NSS tools

Linux

В зависимост от дистрибуцията, която използвате, изпълнете някоя от следните команди:

  • За Debian и Ubuntu: sudo apt-get install libnss3-tools
  • Fedora: su -c "yum install nss-tools"
  • Opensuse: sudo zypper install mozilla-nss-tools
  • Gentoo: su -c "echo 'dev-libs/nss utils' >> /etc/portage/package.use && emerge dev-libs/nss". Понеже в Gentoo всичи помощни програми на NSS са преименувани, ще трябва да пускате всички команди по-долу с префикс nss, например nsscertutil вместо certutil.

Mac OS X

  1. Изтеглете си NSS-3.12.4 от ftp сървъра на Mozilla и го разархивирайте.
  2. Копирайте всички файлове от папката nss-3.12.4/lib в папката nss-3.12.4/bin.
  3. Стартирайте терминал и сменете текущата директория с nss-3.12.4/bin. Ако сте разархивирали NSS в Downloads, това може да стане с командата cd Downloads/nss-3.12.4/bin.

Понеже помощните програми на NSS не са инсталирани в някоя от стандартните папки за програми на Mac OS X, ще трябва да изпълнявате всики команди, показани по-долу със следния префикс - „./“. Например ./certutil вместо certutil.

Начално конфигуриране

Всички стъпки, описани по-долу, се правят еднократно. След като веднъж сте добавили всичката необходима информация в базата данни на NSS, няма нужда да го правите повторно.

Създаване на база данни

В това ръководство се използва споделена база данни на NSS. По същия начин работи и Google Chrome под Linux, така че ако използвате Linux и Chrome, може да пропуснете тази стъпка.

Първо трябва да създадете папката, в която ще се разположи базата данни - mkdir $HOME/.pki/nssdb. Тази команда си е от стандартните, така че няма нужда да слагате префикс, в случай че ползвате Mac OS X. След създаването на папката трябва да се създаде и самата база данни със следната команда - certutil -N -d sql:$HOME/.pki/nssdb.

Добавяне на удостоверителната верига на Инфонотари

Следващата стъпка е да добавите удостоверителната верига на Инфонотари към новосъздадената база данни. За целта трябва да си изтеглите следните няколко файла от нашия сайт:

Слеващите четири команди приемат, че сте записали файловете на десктопа. Ако сте ги записали на друго място, променете пътя до тях в последния параметър: Добавяне на базовото удостоверение - certutil -d sql:$HOME/.pki/nssdb -A -t "CT,C,C" -n "InfoNotary CSP Root" -i $HOME/Desktop/in-csp-root.cer

Добавяне на останалите удостоверения от веригата за квалифицирани удостоверения:

  • certutil -d sql:$HOME/.pki/nssdb -A -t ",," -n "i-Notary Q Sign CA" -i $HOME/Desktop/qs-ca.cer
  • certutil -d sql:$HOME/.pki/nssdb -A -t ",," -n "i-Notary Company Q Sign CA" -i $HOME/Desktop/cqs-ca.cer
  • certutil -d sql:$HOME/.pki/nssdb -A -t ",," -n "i-Notary Personal Q Sign CA" -i $HOME/Desktop/pqs-ca.cer

Регистриране на PKCS#11 модула на смарт картата

За да имате достъп до удостоверенията на смарт картата си, ще трябва да регистрирате PKCS#11 модула картата в базата данни. Това става чрез програмата modutil - modutil -dbdir "database" -add "име" -libfile "път до PKCS#11 библиотеката"

В случай че използвате Linux с OpenSC, командата ще е следната:
modutil -dbdir sql:$HOME/.pki/nssdb -add "OpenSC" -libfile "/usr/lib/onepin-opensc-pkcs11.so"

За Bit4id карта на Linux командата е:
modutil -dbdir sql:$HOME/.pki/nssdb -add "Bit4id" -libfile "/usr/lib/libbit4ipki.so"

За OpenSC на Mac OS X командата е:
./modutil -dbdir sql:$HOME/.pki/nssdb -add "OpenSC" -libfile "/Library/OpenSC/lib/onepin-opensc-pkcs11.so"

За Bit4id карта на Mac OS X командата е:
./modutil -dbdir sql:$HOME/.pki/nssdb -add "Bit4id" -libfile "/System/Library/bit4id/cryptoki/libbit4ipki.dylib"


За следващата стъпка ще ни трябва името на смарт картата. Може да го видите със следната команда:
modutil -dbdir sql:$HOME/.pki/nssdb -list

Част от изхода трябва да е подобен на този:

  2. Bit4id
	library name: /System/Library/bit4id/cryptoki/libbit4ipki.dylib
	 slots: 1 slot attached
	status: loaded

	 slot: ACS ACR 38U-CCID 00 00
	token: InfoNotary

В случая Bit4id е името, което съм задал при добавянето на модула, а името на картата е InfoNotary.

Показване на всички удостоверения на картата

За да подпишете файл чрез NSS, трябва да получите името, с което удостоверението от картата е регистрирано в базата данни. За да го видите, трябва да изпълните следната команда - certutil -d sql:$HOME/.pki/nssdb -L -h InfoNotary

В случая InfoNotary е името на картата (token: от предишната команда). Трябва да получите изход, подобен на този:

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

Enter Password or Pin for "InfoNotary":
InfoNotary:213A799A-D4E3-47AF-82B0-D62B1DC746B5             u,u,u

Certificate Nickname ще ни трябва за следващата команда. Ако имате повече от един сертификат на картата, ще трябва да ползвате някоя програма, предоставена от производителя или нашия Smart Card Manager, за да видите етикета на сертификата. NSS по принцип генерира nickname на сертификата в следния формат „име на карата:етикет на сертификата“.

Подписване на файл

Командата за подписване е cmsutil -d sql:$HOME/.pki/nssdb -S -T -N InfoNotary:213A799A-D4E3-47AF-82B0-D62B1DC746B5 -i data.txt -o data.txt.p7s

InfoNotary:213A799A-D4E3-47AF-82B0-D62B1DC746B5 е името на сертификата от предишната команда, data.txt е файлът, който се подписва, а подписът ще бъде записан в data.txt.p7s. В случай че файловете не са в текущата папка, ще трябва да укажете пълния път до тях, Например за подписване на файл на десктопа командата ще е следната:

cmsutil -d sql:$HOME/.pki/nssdb -S -T -N InfoNotary:213A799A-D4E3-47AF-82B0-D62B1DC746B5 -i $HOME/Desktop/data.txt -o $HOME/Desktop/data.txt.p7s

Горните команди генерират подпис в отделен файл, каквито са текущите изисквания на НАП. Ако искате да генерирате подпис, който съдържа и самия файл, трябва от командата за подписване да премахнете параметъра „-T“.