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

От Infonotary
Направо към навигацията Направо към търсенето
Редакция без резюме
Редакция без резюме
 
(Не са показани 12 междинни версии от 3 потребители)
Ред 1: Ред 1:
В случй че използвате операционна система, за която няма версия на InfoNotary e-Doc Signer, може да използвате следното ръководство, за да подпишете файл с вашия КЕП чрез криптографската библиотека на Mozilla (NSS). Или по-точно чрез помощните програми, разпространявани с NSS (nss-tools). Версии на nss-tools има за всички операционни системи, за които има и версия на Firefox.
<!--[[Image:WarningYellow.png|32px]] Препоръчваният от Инфонотари начин за подписване на файлове е чрез e-Doc Signer. Последната му версия за Windows, macOS и Linux може да се свали от [http://www.infonotary.com/site/?p=doc_l2_4 www.infonotary.com].
 
Това ръководство е за хората, които препочитат да използват команден ред или използват операционна система, за която все още няма версия на e-Doc Signer.


= Инсталация на NSS tools =
= Инсталация на NSS tools =
Ред 12: Ред 14:
* Gentoo: {{Шаблон:Console|su -c "echo 'dev-libs/nss utils' >> /etc/portage/package.use && emerge dev-libs/nss"}}. Понеже в Gentoo всичи помощни програми на NSS са преименувани, ще трябва да пускате всички команди по-долу с префикс nss, например nsscertutil вместо certutil.
* Gentoo: {{Шаблон:Console|su -c "echo 'dev-libs/nss utils' >> /etc/portage/package.use && emerge dev-libs/nss"}}. Понеже в Gentoo всичи помощни програми на NSS са преименувани, ще трябва да пускате всички команди по-долу с префикс nss, например nsscertutil вместо certutil.


== Mac OS X ==
== macOS ==


# Изтеглете си 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 от [http://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 не са инсталирани в някоя от стандартните папки за програми на macOS, ще трябва да изпълнявате всики команди, показани по-долу със следния префикс - „./“. Например ./certutil вместо certutil.
 
Може да инсталирате необходимите програми и от [https://www.macports.org/ MacPorts]. Командата за инсталиране е {{Шаблон:Console|sudo ports install nss}}. В този случай ще трябва да слагате префикс nss- пред всяка команда.


= Начално конфигуриране =
= Начално конфигуриране =
Ред 27: Ред 31:
В това ръководство се използва [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 -p $HOME/.pki/nssdb}}. Тази команда си е от стандартните, така че няма нужда да слагате префикс, в случай че ползвате macOS.
След създаването на папката трябва да се създаде и самата база данни със следната команда - {{Шаблон:Console|certutil -N -d sql:$HOME/.pki/nssdb}}.
След създаването на папката трябва да се създаде и самата база данни със следната команда - {{Шаблон:Console|certutil -N -d sql:$HOME/.pki/nssdb}}.


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


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


В случай че използвате 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 -mechanisms FRIENDLY}}


За Bit4id карта на Linux командата е:<br/>
За Bit4id карта на Linux командата е:<br/>
{{Шаблон:Console|modutil -dbdir sql:$HOME/.pki/nssdb -add "Bit4id" -libfile "/usr/lib/libbit4ipki.so"}}
{{Шаблон:Console|modutil -dbdir sql:$HOME/.pki/nssdb -add "Bit4id" -libfile /usr/lib/libbit4ipki.so -mechanisms FRIENDLY}}


За OpenSC на Mac OS X командата е:<br/>
За OpenSC на macOS командата е:<br/>
{{Шаблон:Console|./modutil -dbdir sql:$HOME/.pki/nssdb -add "OpenSC" -libfile "/Library/OpenSC/lib/onepin-opensc-pkcs11.so"}}
{{Шаблон:Console|./modutil -dbdir sql:$HOME/.pki/nssdb -add "OpenSC" -libfile /Library/OpenSC/lib/onepin-opensc-pkcs11.so -mechanisms FRIENDLY}}


За Bit4id карта на Mac OS X командата е:<br/>
За Bit4id карта на macOS командата е:<br/>
{{Шаблон:Console|./modutil -dbdir sql:$HOME/.pki/nssdb -add "Bit4id" -libfile "/System/Library/bit4id/cryptoki/libbit4ipki.dylib"}}
{{Шаблон:Console|./modutil -dbdir sql:$HOME/.pki/nssdb -add "Bit4id" -libfile /System/Library/bit4id/cryptoki/libbit4ipki.dylib -mechanisms FRIENDLY}}




Ред 90: Ред 94:
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 по принцип генерира nickname на сертификата в следния формат „име на карата:етикет на сертификата“.
Certificate Nickname ще ни трябва за следващата команда. Ако имате повече от едно удостоверение на картата, ще трябва да ползвате някоя програма, предоставена от производителя или InfoNotary Smart Card Manager, за да видите етикета на удостоверението. NSS по принцип генерира nickname в следния формат „име на карата:етикет на удостоверението“.


= Подписване на файл =
= Подписване на файл =
Ред 97: Ред 101:
{{Шаблон: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“.
 
 
[[Image:WarningYellow.png|32px]] На macOS, в случай, че сте направили инсталацията на nss чрез MacPorts, вместо с cmsutil командата за подписване трябва да започва с nss-p7sign.


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

Текуща версия към 20:32, 21 юни 2022