Задача - создать на фирме систему электронного документооборота с возможностью подписи файлов ЭЦП. ГОСТ выбран из соображений патриотизма
Обмениваться информацией со сторонними организациями не предполагается, чисто для внутренних нужд.
Судя по тому, что с 1 января 2013 года введён ГОСТ Р 34.11-2012, могу предположить, что в новом стандарте повысили криптостойкость.
Теперь про самоподписанный корневой сертификат УЦ.
Судя по тексту поста
https://forum.ubuntu.ru/index.php?topic=194259.0Теперь надо создать главный ключ
удостоверяющего центра. И
сертификат, конечно же... Обязательно ставьте на ключ пароль! Обязательно!
$ openssl req -newkey rsa:4096 -x509 -extensions x509_ca -keyout $HOME/ca.key -out $HOME/ca-$(date +%Y%m%d-%H%M).crt -days 3654
Generating a 4096 bit RSA private key
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
............................++
................................................................................
................................................................................
...............................++
writing new private key to '/home/.CA/ca.key'
Enter PEM pass phrase: <myveryownca>
Verifying - Enter PEM pass phrase: <myveryownca>
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code, mandatory) [RU]:
State or province name (optional) []:Russian Federation
Locality Name (eg, city, mandatory) [Moscow]:
Organization name (optional) []:Home Co
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name, or a server address) []:Andrey Repin
Email Address []:anrdaemon@example.org
Это было много-много точечек, да...
Поясню, что именно мы сделали - это поможет ориентироваться в дальнейших
командах.
openssl req - вызывается функция создания запроса сертификата
-newkey rsa:4096 - запрашивается генерация нового ключа RSA с длиной 4096 бит.
-x509 - а вот тут мы переключаемся в режим самоподписывания сертификатов. Вместо закрытого ключа и запроса сертификата будет создан ключ и сертификат, подписанный этим ключом. (Сертификат ключа, подписанный этим же самым ключом, называется "самоподписанным".)
-extensions x509_ca - из файла настроек загружаются расширения X.509 для CA
-keyout $HOME/ca.key - файл, куда сохранять ключ.
-out /home/.CA/ca-$(date +%Y%m%d-%H%M).crt
- файл, куда сохранять подписанный сертификат. Файл создается с именем, включающим текущие дату и время - для большей наглядности.
-days 3654 - сертификат будет действителен примерно 10 лет, начиная от момента подписания.
А корневой - исходя из того, что все остальные будут поставляться с этим сертификатом, он в древовидной структуре будет главным.
Повторюсь,
Задача - создать на фирме систему электронного документооборота с возможностью подписи файлов ЭЦП. ГОСТ выбран из соображений патриотизма
Обмениваться информацией со сторонними организациями не предполагается, чисто для внутренних нужд.
Естественно бесплатно по возможности.
Я предположил, что будет неплохо организовать выдачу сертификатов на основе openssl (свободное распространение и поддержка ГОСТ) и найти какой-нибудь софт собственно для подписи/проверки файлов.
Возможно предложите другие варианты решения моей задачи. Буду рад любым советам
Спасибо