Openssl mac verify error invalid password

PKCS#12 incorrect password error #84 Comments Steps to reproduce Generate any PKCS#12 on examples page with a password. Try to extract key using OpenSSL command with the same password openssl pkcs12 -in pkijs_pkcs12.p12 -nocerts -out key.pem -nodes the result is an error: Mac verify error: invalid password? Try to import into Windows certification store […]

Содержание

  1. PKCS#12 incorrect password error #84
  2. Comments
  3. 🔐 Как использовать OpenSSL для управления архивом PKCS #12
  4. Что такое PKCS #12 ?
  5. Как создать образец сертификата.
  6. Выполним операции по PKCS #12
  7. viking_k
  8. Записная книжка IT-шника
  9. идеи / интересы / шлак
  10. Бложег
  11. пятница, 15 июня 2012 г.
  12. Использование OpenSource крипто библиотек для работы с ГОСТовыми сертификатами CryptoPro
  13. exp build iOS enterprise app error: PKCS#12 MAC could not be verified. Invalid password? #1771
  14. Comments
  15. The build error:

PKCS#12 incorrect password error #84

Steps to reproduce

  1. Generate any PKCS#12 on examples page with a password.
  2. Try to extract key using OpenSSL command with the same password
    openssl pkcs12 -in pkijs_pkcs12.p12 -nocerts -out key.pem -nodes
    the result is an error: Mac verify error: invalid password?
  3. Try to import into Windows certification store with the same password using certmgr.msc
    the result is an error: The password you entered is incorrect

The text was updated successfully, but these errors were encountered:

Check this link for some additional explanations about PKCS#12 and OpenSSL/Windows integration. As a small conclusion: Windows will not understand any of PKCS#12 bundles made by PKI.js, OpenSSL will understand only some of them.

Also please carefully read note on the example’s page you were referring to:

I decided to update the issue with some new information. So, not so long ago I found that PKIjs was having incorrect algorithm for MacData processing. That is why all had the problems with Mac verify error . The error fixed already, btw. As for Windows The password you entered is incorrect — this example could produce PKCS#12 files which could be successfully parsed by Windows. The example is running on Node only — Windows is using old 3DES and RC2 algorithms and we do not have them in browser evironment.

Источник

🔐 Как использовать OpenSSL для управления архивом PKCS #12

Что такое PKCS #12 ?

В криптографии PKCS#12 — один из стандартов семейства Public-Key Cryptography Standards (PKCS), опубликованных RSA Laboratories. Он определяет формат файла, используемый для хранения и/или транспортировки закрытого ключа (en:Private key), цепочки доверия от сертификата пользователя до корневого сертификата удостоверяющего центра и списка отзыва сертификатов (CRL). Защита файла осуществляется одним из двух способов: безопасным, с использованием доверенной ключевой пары (открытый/закрытый ключи, подходящие для цифровой подписи и шифрования) или менее безопасным, с использованием симметричного ключа, основанного на пароле. Второй подходит для случаев, когда использование доверенных пар открытый/закрытый ключей недоступны. Формат PKCS#12 — это формат, предназначенный для хранения ключевой пары (закрытый ключ и сертификат), который распознается и используется многими браузерами и почтовыми агентами. В файлах PKCS#12 хранятся одновременно и сертификат, и закрытый ключ (разумеется в зашифрованном виде). Примерная организация PKCS#12 файла показана на рисунке справа.

Как создать образец сертификата.

Файл закрытого ключа example.org.key.

Выполним операции по PKCS #12

Создадим архив PKCS #12, используя

в качестве пароля.

Выведем информацию о файле PKCS# 12 для простой проверки.

Введите пароль с помощью командной строки.

Введите пароль, используя файл.

Извлечение и отображение сертификатов, приватных ключей из архива PKCS #12.

Извлечение сертификатов и закрытых ключей из архива PKCS # 12 в файл.

Источник

viking_k

Записная книжка IT-шника

идеи / интересы / шлак

Итак понадобилось мне получить доступ к единому реестру запрещенных ресурсов, но все оказалось не так просто как хотелось бы.

Вводная:
Сервер на Debian 7
ЭЦП на etoken, в нутре контейнера ViPNet
Необходимо автоматерировать процесс регулярного обращения к реестру запрещенных ресурсов и выгрузки с него списка «плохишей»

Начало войны — Несправедливость:
Под Виндой все работает великолепно. Достаточно установить ViPNet CSP для управления сертификатами и ViPNet CryptoFile для подписи файлов. Все это есть на сайте производителя. Но для Линуксов ничего есть только программа ViPNet CSP, да и та в бета-тестирвании.

Битва первая — Драйвер:
Электронные ключи eToken выпускаются компанией Аладин Р.Д., драйвера можно скачать на соответствующем сайте. Приятно порадовало есть драйвера для платформ отличный от Windows.

Для моего Debian это выглядило так:

Список обектов в определенном слоте можно увидеть так:

$ pkcs11-tool —module /usr/lib/libeTPkcs11.so —slot 0 -Ol

Содержимое объекта в слоте можно посмотреть так:

$pkcs11-tool —module /usr/lib/libeTPkcs11.so —slot 0 -a ‘ViPNet Container’ -y data -r
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
.

В общем и целом делаем вывод, что драйвера на eToken встали великолепно, НО ViPNet CSP для линукс его в упор не видит и естественно открыть свой контейнер не может.
Для проверки еще попытался подойти к вопросу со стороны. Открываем наш любимый браузер — Mozilla Firefox, и пользуемся вот такой инструкцией:

Битва вторая — Контейнер

Зализав раны от побоища я обратился за помощью к Windows и таки корректно извлек контейнер из eToken с помощью ViPNet CSP . А так же из ViPNet CSP экспортировал ЭЦП в формат PKCS#12 в файл name.pfx. Счастью не было придела. Но оказалось:

1. На Windows без установленного ViPNet CSP файл с сертификатом name.pfx не рапаковывается, ругаясь на неправильный пароль. Хотя пароль вводился 100% правильный.
Если ViPNet CSP установить то все распаковывается на ура. Без ViPNet CSP так же нельзя провести ниодин экспорт. Эта зараза помещает сикретный ключ в свой собственный контейнер с отдельным паролем. А при удалении забирает все контейнеры на небеса.

2. Утилита P12FromGostCSP так же не может произвести экспорт сертификата в формате PKCS#12 ругаясь на то, что с ViPNet она работать не умеет.

3. На Debian средствами OpenSSL просмотреть файл не удалось. Хотя пароль опять же вводился 100% правильный.

Попытка включить поддержку шифрования по ГОСТ для OpenSSL результатов не принесла.
В общем и целом ситуация складывается безвыходная — с конейнерами ViPNet может работать только сам ViPNet и больше никто. Средств для автоматизации процесов нет ни под Windows ни под Linux.
Битва проиграна.

Битва Третья — Другой криптопровайдер

Подписываем файл запроса на Роскомнадзор:

Источник

Бложег

блог о быдлокодинге

пятница, 15 июня 2012 г.

Использование OpenSource крипто библиотек для работы с ГОСТовыми сертификатами CryptoPro

В данной статье делается попытка ответить на вопрос: возможно ли использовать OpenSource библиотеки для работы с ГОСТовыми сертификатами?
Если коротко, то да.
Для проверки использовалась последняя на данный момент версия OpenSSL (1.0.1с), собранная из исходников с поддержкой gost engine
Для начала нужно установить КриптоПро CSP 3.6 R3, поскольку в нем реализована поддержка экспорта сертификатов в формате pfx. Эту часть работ нужно делать в операционной системе Windows. Не буду описывать подробно этот процесс, скажу лишь, что нужно сохранить приватный ключ в формате CryptoPro на флэшку и импортировать его в хранилище «Реестр». Выгрузив сертификат в файл, например store.pfx (включая приватный ключ), можно вывести приватный ключ в stdout командой

  • -info вывести информацию о содержимом файла в формате pkcs12 (.pfx)
  • -engine использовать указанный криптографический модуль
  • -nodes не нужно шифровать приватный ключ
  • -in входной файл

Если вы получаете ошибку вида «unknown PBE algorithm»

То это означает, что вам потребуется другое средство для получения pfx файла, утилитка P12FromGostCSP.exe
Если вы получаете ошибку вида «unknown digest algorithm»

Enter Import Password:
MAC Iteration 2048
Mac verify error: invalid password?
140572666472096:error:2306B076:PKCS12 routines:PKCS12_gen_mac:unknown digest algorithm:p12_mutl.c:88:
140572666472096:error:2307E06D:PKCS12 routines:PKCS12_verify_mac:mac generation error:p12_mutl.c:122:
то скорее всего в вашем openssl нет поддержки ГОСТовых алгоритмов либо вы используете не ту копию openssl.

Если все прошло без ошибок, то в консоли вы получите приватный ключ и сертификат. Скопировав выведенный в консоль приватный ключ (вместе со словами ——BEGIN PRIVATE KEY—— и ——END PRIVATE KEY——) в отдельный файл private.key мы сможем с его помощью создавать ЭЦП.

Команда для генерации примерно следующая:

  • -sign генерация подписи
  • -inkey путь к приватному ключу
  • -in подписываемый файл
  • -CAfile файл УЦ
  • -signer файл с сертификатом, которым осуществляется подпись
  • -engine использовать указанный криптографический модуль
  • -out файл, в который будет записана ЭЦП
  • -outform формат подписи
  • -noattr не добавлять дополнительных аттрибутов в подпись
  • -binary считать подписываемый файл массивом байт, а не текстом

К сожалению, Bouncy Castle (версии 1.46), хоть в нем и декларируется поддержка ГОСТовых алгоритмов, не может разобрать формат приватного ключа, так что использовать его для генерации ЭЦП на данный момент не представляется возможным.

UPD:
Bouncy Castle 1.55 уже умеет работать с такими приватными ключами

Источник

exp build iOS enterprise app error: PKCS#12 MAC could not be verified. Invalid password? #1771

Hi, I use expo build the iOS enterprise app and it report the Invalid password error. But I have regenerate the p12 file and reset the password and it still error.

The build error:

I have verify the p12 file password locally and it is correct.

I can publish the iOS app using the same password last week. But it failed today. Is something broken? Thanks.

The text was updated successfully, but these errors were encountered:

Hi @zhaozhiming — what an odd error 😕 A quick google search suggests that sometimes setting an empty password or a password with non-ASCII characters could potentially cause this issue. Could you try setting a different password for your p12 file (maybe a simple, but non-empty, one) and let us know if that works?

My password is very simple. First time I set the password to 123 , second time I set to 111 , but they both failed.

@zhaozhiming — okay, thanks for the info. It looks like we’ve recently changed how we run the signing code on our servers. I’ll ping someone internally and see if we can get this figured out.

@esamelson Thanks. Waiting for your good news.

Same problem, very simple password

@zhaozhiming @jonatanrinckus
I found the issue in our code. The problem occurs only for passwords which have only digits. I’ll add support for them (i’ll fix the bug) soon, but until then you can change your passwords to something that have at least one letter. Please let me know if it resolves the problem for you. Thanks!

Источник

На чтение 12 мин Опубликовано 13.07.2020

Содержание

  1. Что такое  PKCS #12 ?
  2. Как создать образец сертификата.
  3. Выполним операции по PKCS #12
  4.  Дополнительная информация
  5. Распространенные ошибки

Что такое  PKCS #12 ?

Из wiki:

В криптографии PKCS#12 — один из стандартов семейства Public-Key Cryptography Standards (PKCS), опубликованных RSA Laboratories. Он определяет формат файла, используемый для хранения и/или транспортировки закрытого ключа (en:Private key), цепочки доверия от сертификата пользователя до корневого сертификата удостоверяющего центра и списка отзыва сертификатов (CRL). Защита файла осуществляется одним из двух способов: безопасным, с использованием доверенной ключевой пары (открытый/закрытый ключи, подходящие для цифровой подписи и шифрования) или менее безопасным, с использованием симметричного ключа, основанного на пароле. Второй подходит для случаев, когда использование доверенных пар открытый/закрытый ключей недоступны. Формат PKCS#12 — это формат, предназначенный для хранения ключевой пары (закрытый ключ и сертификат), который распознается и используется многими браузерами и почтовыми агентами. В файлах PKCS#12 хранятся одновременно и сертификат, и закрытый ключ (разумеется в зашифрованном виде). Примерная организация PKCS#12 файла показана на рисунке справа.

Как создать образец сертификата.

$ openssl req -subj "/commonName=example.org/" -x509 -nodes -days 730 -newkey rsa:2048 -keyout example.org.key -out example.org.pem

файл сертификата – example.org.pem.

-----BEGIN CERTIFICATE-----
MIIDDTCCAfWgAwIBAgIUY5YmshFi3LCcZ4659dQ90IUpMX0wDQYJKoZIhvcNAQEL
BQAwFjEUMBIGA1UEAwwLZXhhbXBsZS5vcmcwHhcNMjAwMTE0MDAwMDExWhcNMjIw
MTEzMDAwMDExWjAWMRQwEgYDVQQDDAtleGFtcGxlLm9yZzCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBANWClj4Jn7D4MUHMjZUcY/dx3RroU+tPgEkUjxJU
P9srhkDWKIVFqzZDfFldHg3KWQWvbmHVhWGobQY6ylx5epFy62nAXMvkfkiPefne
6A6XxOomhJ71E4VeSNiY50vbRxzOOwKb+P+3gtK7KauRK42cP7xjGEQlpVTFOvjl
wGmbUhZxZqS1jpjc6GMkaCIl8+oJD9kCzBjTLBLs+rw4DlFndfxim22HEbRClE48
/6eJ0AY9eZzkpuAaPTjYvqIaw+s/QWAZTJ+0Ev5YKw5PgPnb7qDPb0hbIcnG2F6/
3Gn3GR6lVrhWjlB1fGxEFDoP8BoGIBafPf8xUlfDyRTZQxcCAwEAAaNTMFEwHQYD
VR0OBBYEFHJPh7s99IvIYjWZCsiOmEOpbEaYMB8GA1UdIwQYMBaAFHJPh7s99IvI
YjWZCsiOmEOpbEaYMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB
AIHsx0NMJ7AgyZF/pSlG2dNhxm79K9qdDB+adXkdPpQzzIpGAPprU392SVjTYKtZ
S9Y4ELrL+G/XwANLWp6UzeMZXsQfUf23LifIrvhHgjtQt/OfRIdlWjWdVOaFHg8T
TZPYcHUHv836evf/2lfLbj2eZIBXoXjfOi+pDlxM/h1avrSgS25FG9Qz8PnK8xJ2
85r2xseSYxfhTEzb+N8f8RmTdClWwTT6TdeyDaQ0xwdp0W2xWKTCAkgwFyAxAcmk
5n37C8eNZWSrLQEk8i35/ziC2mpgQrNNuxGoG2U8h2RC/e5OZXgxkTqao6ul82Yt
CUVAgzzpIshyiy/VrSjVKoM=
-----END CERTIFICATE-----

Файл закрытого ключа example.org.key.

-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDVgpY+CZ+w+DFB
zI2VHGP3cd0a6FPrT4BJFI8SVD/bK4ZA1iiFRas2Q3xZXR4NylkFr25h1YVhqG0G
OspceXqRcutpwFzL5H5Ij3n53ugOl8TqJoSe9ROFXkjYmOdL20cczjsCm/j/t4LS
uymrkSuNnD+8YxhEJaVUxTr45cBpm1IWcWaktY6Y3OhjJGgiJfPqCQ/ZAswY0ywS
7Pq8OA5RZ3X8YptthxG0QpROPP+nidAGPXmc5KbgGj042L6iGsPrP0FgGUyftBL+
WCsOT4D52+6gz29IWyHJxthev9xp9xkepVa4Vo5QdXxsRBQ6D/AaBiAWnz3/MVJX
w8kU2UMXAgMBAAECggEAGq6NFAej2zvI/A4SC3ZWz8988CXkht2SjI9zKbk5mawg
xO1+dtk0Aj4AxjIq1VJaOamow7UpTAD+Tu795vyPYqnX3Ylaj2hol6zGc4F1wo0Y
4KIbpLm/zMTxmY/SJ9qpUmI7YaIYReyq/qbBGF218aZ7GJHRsIJ73NIhAoXDu+6g
fWjRg19hSz/EM/68hPxM7vstPC0S/zdMicrnbcCtA23AJL5cyifa1W1VkMv3SW3t
fswSvxLT4qDRyBxc6Xq0ULNm1Q+FMyhqtPhnUX4qi9289cal0U+9rfEhFc2q0I2T
VujPz76Ncm4IGeh/lf67dHYvwy7qHaPmL3Wto1U0IQKBgQD9hMjS6k8pkz7WCLJl
0JNHw0QWczM5+q2BfQM7w8McmWX0mvKqkLiGLyIo1QS8GgR+uOoEJ8v5rNZLW1SU
Q4SWExj8IQL+ofUDn4U1zbKtyRXybURC0GWGjbX8F4YJrLBmAuCeJNB6If4RTT/T
q9ZFYPwRzjOO+QZMICKDZlIriQKBgQDXmY6auU8uPSkPbCuZzUPX3z+fVVwRg8mm
zPGlsZ+uQvQT9qU37RpoWKxMRjjS61F2qdyxr6+++LqmAVU/QSdokJQP2A0LVCeG
+zPY/6zj4Y7CI81T2r9P6eVBVhS7eg9ggrnyIqwdBykh+u0zKXDSkfp7hEoChvL0
G6Cc2+MxnwKBgAwii/5Uit+BldNm7SskdbhMp3ivoPcYga+eDUaSE0fOK+wucokp
jjuWC/uKXsSmNirerQzv3rqfxE4tG/pQ1Qrd9Sc0aVFI7VJ0E0tFAlWBN5S4GDle
gk2TgO+FLLxP0M3BO4E2X+hIskGfwfte0U3W25n6lcs1LlD8hMpnXm2JAoGBAJAu
zUOD8gQGOtNpj68HqvtO/Ylc2HmOHOlD3cblhthPRlOjetJv6l0mD/PiclX7sTse
Vc0upOWeCZTDB3OJ6wTuy1XdMrwEx3ppvD6+nay4R3Rl5QbTH2YeEYckPjEya94r
DpdzwI6ZH1TuLnssl5r6rPy1d5lBDnFZmIvOMZ4ZAoGAL9m3qzKmOlqGAD32w11V
0zzr0orZPRiCXZ1SqQ1MRwKUexZeDCee4ZVZhhPtlyk8btqgG4j85RffFHbcwuv3
eGgx6S/6GzXRu0sICLrAmHT+Q2WA/PKp0kD6Abz1DXLJUjr/nF6UUkqEOrCvGXoq
2MhMYc07op+riO+4pUwfzRY=
-----END PRIVATE KEY-----

Выполним операции по PKCS #12

Создадим архив PKCS #12, используя

samplepassword 

в качестве пароля.

$ openssl pkcs12 -export -name example.org -in example.org.pem -inkey example.org.key -out example.org.p12 -password pass:samplepassword

Выведем информацию о файле PKCS# 12 для простой проверки.

Введите пароль с помощью командной строки.

$ openssl pkcs12 -in example.org.p12  -info -password pass:samplepassword -noout
MAC: sha1, Iteration 2048
MAC length: 20, salt length: 8
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048

Выведем информацию о файле PKCS# 12 для простой проверки.

Введите пароль, используя файл.

$ echo "samplepassword" > passwordfile
$ openssl pkcs12 -in example.org.p12  -info -password file:passwordfile  -noout
MAC: sha1, Iteration 2048
MAC length: 20, salt length: 8
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048

Введите пароль, используя стандартный ввод.

$ openssl pkcs12 -in example.org.p12 -info -noout
Enter Import Password: **************
MAC: sha1, Iteration 2048
MAC length: 20, salt length: 8
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 204

Покажем сущность для каждого сохраненного сертификата.

$ openssl pkcs12 -in example.org.p12 -password pass:samplepassword -nokeys -clcerts | openssl x509 -noout -subject 
subject=CN = example.org

Отобразим имя каждого сохраненного сертификата.

$ openssl pkcs12 -in example.org.p12 -password pass:samplepassword -nokeys -clcerts | grep friendlyName
friendlyName: example.org

Извлечение и отображение сертификатов, приватных ключей из архива PKCS #12.

$ openssl pkcs12 -in example.org.p12 -password pass:samplepassword -nodes 
Bag Attributes
    localKeyID: 4D 4E 49 0B 09 48 B8 6A F7 9E 6F C7 DC 94 FE 1B EF 07 58 F1 
    friendlyName: example.org
subject=CN = example.org

issuer=CN = example.org

-----BEGIN CERTIFICATE-----
MIIDDTCCAfWgAwIBAgIUY5YmshFi3LCcZ4659dQ90IUpMX0wDQYJKoZIhvcNAQEL
BQAwFjEUMBIGA1UEAwwLZXhhbXBsZS5vcmcwHhcNMjAwMTE0MDAwMDExWhcNMjIw
MTEzMDAwMDExWjAWMRQwEgYDVQQDDAtleGFtcGxlLm9yZzCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBANWClj4Jn7D4MUHMjZUcY/dx3RroU+tPgEkUjxJU
P9srhkDWKIVFqzZDfFldHg3KWQWvbmHVhWGobQY6ylx5epFy62nAXMvkfkiPefne
6A6XxOomhJ71E4VeSNiY50vbRxzOOwKb+P+3gtK7KauRK42cP7xjGEQlpVTFOvjl
wGmbUhZxZqS1jpjc6GMkaCIl8+oJD9kCzBjTLBLs+rw4DlFndfxim22HEbRClE48
/6eJ0AY9eZzkpuAaPTjYvqIaw+s/QWAZTJ+0Ev5YKw5PgPnb7qDPb0hbIcnG2F6/
3Gn3GR6lVrhWjlB1fGxEFDoP8BoGIBafPf8xUlfDyRTZQxcCAwEAAaNTMFEwHQYD
VR0OBBYEFHJPh7s99IvIYjWZCsiOmEOpbEaYMB8GA1UdIwQYMBaAFHJPh7s99IvI
YjWZCsiOmEOpbEaYMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB
AIHsx0NMJ7AgyZF/pSlG2dNhxm79K9qdDB+adXkdPpQzzIpGAPprU392SVjTYKtZ
S9Y4ELrL+G/XwANLWp6UzeMZXsQfUf23LifIrvhHgjtQt/OfRIdlWjWdVOaFHg8T
TZPYcHUHv836evf/2lfLbj2eZIBXoXjfOi+pDlxM/h1avrSgS25FG9Qz8PnK8xJ2
85r2xseSYxfhTEzb+N8f8RmTdClWwTT6TdeyDaQ0xwdp0W2xWKTCAkgwFyAxAcmk
5n37C8eNZWSrLQEk8i35/ziC2mpgQrNNuxGoG2U8h2RC/e5OZXgxkTqao6ul82Yt
CUVAgzzpIshyiy/VrSjVKoM=
-----END CERTIFICATE-----
Bag Attributes
    localKeyID: 4D 4E 49 0B 09 48 B8 6A F7 9E 6F C7 DC 94 FE 1B EF 07 58 F1 
    friendlyName: example.org
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDVgpY+CZ+w+DFB
zI2VHGP3cd0a6FPrT4BJFI8SVD/bK4ZA1iiFRas2Q3xZXR4NylkFr25h1YVhqG0G
OspceXqRcutpwFzL5H5Ij3n53ugOl8TqJoSe9ROFXkjYmOdL20cczjsCm/j/t4LS
uymrkSuNnD+8YxhEJaVUxTr45cBpm1IWcWaktY6Y3OhjJGgiJfPqCQ/ZAswY0ywS
7Pq8OA5RZ3X8YptthxG0QpROPP+nidAGPXmc5KbgGj042L6iGsPrP0FgGUyftBL+
WCsOT4D52+6gz29IWyHJxthev9xp9xkepVa4Vo5QdXxsRBQ6D/AaBiAWnz3/MVJX
w8kU2UMXAgMBAAECggEAGq6NFAej2zvI/A4SC3ZWz8988CXkht2SjI9zKbk5mawg
xO1+dtk0Aj4AxjIq1VJaOamow7UpTAD+Tu795vyPYqnX3Ylaj2hol6zGc4F1wo0Y
4KIbpLm/zMTxmY/SJ9qpUmI7YaIYReyq/qbBGF218aZ7GJHRsIJ73NIhAoXDu+6g
fWjRg19hSz/EM/68hPxM7vstPC0S/zdMicrnbcCtA23AJL5cyifa1W1VkMv3SW3t
fswSvxLT4qDRyBxc6Xq0ULNm1Q+FMyhqtPhnUX4qi9289cal0U+9rfEhFc2q0I2T
VujPz76Ncm4IGeh/lf67dHYvwy7qHaPmL3Wto1U0IQKBgQD9hMjS6k8pkz7WCLJl
0JNHw0QWczM5+q2BfQM7w8McmWX0mvKqkLiGLyIo1QS8GgR+uOoEJ8v5rNZLW1SU
Q4SWExj8IQL+ofUDn4U1zbKtyRXybURC0GWGjbX8F4YJrLBmAuCeJNB6If4RTT/T
q9ZFYPwRzjOO+QZMICKDZlIriQKBgQDXmY6auU8uPSkPbCuZzUPX3z+fVVwRg8mm
zPGlsZ+uQvQT9qU37RpoWKxMRjjS61F2qdyxr6+++LqmAVU/QSdokJQP2A0LVCeG
+zPY/6zj4Y7CI81T2r9P6eVBVhS7eg9ggrnyIqwdBykh+u0zKXDSkfp7hEoChvL0
G6Cc2+MxnwKBgAwii/5Uit+BldNm7SskdbhMp3ivoPcYga+eDUaSE0fOK+wucokp
jjuWC/uKXsSmNirerQzv3rqfxE4tG/pQ1Qrd9Sc0aVFI7VJ0E0tFAlWBN5S4GDle
gk2TgO+FLLxP0M3BO4E2X+hIskGfwfte0U3W25n6lcs1LlD8hMpnXm2JAoGBAJAu
zUOD8gQGOtNpj68HqvtO/Ylc2HmOHOlD3cblhthPRlOjetJv6l0mD/PiclX7sTse
Vc0upOWeCZTDB3OJ6wTuy1XdMrwEx3ppvD6+nay4R3Rl5QbTH2YeEYckPjEya94r
DpdzwI6ZH1TuLnssl5r6rPy1d5lBDnFZmIvOMZ4ZAoGAL9m3qzKmOlqGAD32w11V
0zzr0orZPRiCXZ1SqQ1MRwKUexZeDCee4ZVZhhPtlyk8btqgG4j85RffFHbcwuv3
eGgx6S/6GzXRu0sICLrAmHT+Q2WA/PKp0kD6Abz1DXLJUjr/nF6UUkqEOrCvGXoq
2MhMYc07op+riO+4pUwfzRY=
-----END PRIVATE KEY-----

Извлечение сертификатов и закрытых ключей из архива PKCS # 12 в файл.

$ openssl pkcs12 -in example.org.p12 -password pass:samplepassword -nodes -out example.org.certificate

Извлечение и отображение сертификата из архива PKCS #12.

$ openssl pkcs12 -in example.org.p12 -password pass:samplepassword -clcerts -nokeys
Bag Attributes
    localKeyID: 4D 4E 49 0B 09 48 B8 6A F7 9E 6F C7 DC 94 FE 1B EF 07 58 F1 
    friendlyName: example.org
subject=CN = example.org

issuer=CN = example.org

-----BEGIN CERTIFICATE-----
MIIDDTCCAfWgAwIBAgIUY5YmshFi3LCcZ4659dQ90IUpMX0wDQYJKoZIhvcNAQEL
BQAwFjEUMBIGA1UEAwwLZXhhbXBsZS5vcmcwHhcNMjAwMTE0MDAwMDExWhcNMjIw
MTEzMDAwMDExWjAWMRQwEgYDVQQDDAtleGFtcGxlLm9yZzCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBANWClj4Jn7D4MUHMjZUcY/dx3RroU+tPgEkUjxJU
P9srhkDWKIVFqzZDfFldHg3KWQWvbmHVhWGobQY6ylx5epFy62nAXMvkfkiPefne
6A6XxOomhJ71E4VeSNiY50vbRxzOOwKb+P+3gtK7KauRK42cP7xjGEQlpVTFOvjl
wGmbUhZxZqS1jpjc6GMkaCIl8+oJD9kCzBjTLBLs+rw4DlFndfxim22HEbRClE48
/6eJ0AY9eZzkpuAaPTjYvqIaw+s/QWAZTJ+0Ev5YKw5PgPnb7qDPb0hbIcnG2F6/
3Gn3GR6lVrhWjlB1fGxEFDoP8BoGIBafPf8xUlfDyRTZQxcCAwEAAaNTMFEwHQYD
VR0OBBYEFHJPh7s99IvIYjWZCsiOmEOpbEaYMB8GA1UdIwQYMBaAFHJPh7s99IvI
YjWZCsiOmEOpbEaYMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB
AIHsx0NMJ7AgyZF/pSlG2dNhxm79K9qdDB+adXkdPpQzzIpGAPprU392SVjTYKtZ
S9Y4ELrL+G/XwANLWp6UzeMZXsQfUf23LifIrvhHgjtQt/OfRIdlWjWdVOaFHg8T
TZPYcHUHv836evf/2lfLbj2eZIBXoXjfOi+pDlxM/h1avrSgS25FG9Qz8PnK8xJ2
85r2xseSYxfhTEzb+N8f8RmTdClWwTT6TdeyDaQ0xwdp0W2xWKTCAkgwFyAxAcmk
5n37C8eNZWSrLQEk8i35/ziC2mpgQrNNuxGoG2U8h2RC/e5OZXgxkTqao6ul82Yt
CUVAgzzpIshyiy/VrSjVKoM=
-----END CERTIFICATE-----

Извлеките сертификат из архива PKCS #12 и сохраните его в файл.

$ openssl pkcs12 -in example.org.p12 -password pass:samplepassword -clcerts -nokeys -out extracted_example.org.pem

Извлеките и отобразите закрытый ключ из архива PKCS #12.

$ openssl pkcs12 -in example.org.p12 -password file:a -nocerts -nodes 
Bag Attributes
    localKeyID: 4D 4E 49 0B 09 48 B8 6A F7 9E 6F C7 DC 94 FE 1B EF 07 58 F1 
    friendlyName: example.org
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDVgpY+CZ+w+DFB
zI2VHGP3cd0a6FPrT4BJFI8SVD/bK4ZA1iiFRas2Q3xZXR4NylkFr25h1YVhqG0G
OspceXqRcutpwFzL5H5Ij3n53ugOl8TqJoSe9ROFXkjYmOdL20cczjsCm/j/t4LS
uymrkSuNnD+8YxhEJaVUxTr45cBpm1IWcWaktY6Y3OhjJGgiJfPqCQ/ZAswY0ywS
7Pq8OA5RZ3X8YptthxG0QpROPP+nidAGPXmc5KbgGj042L6iGsPrP0FgGUyftBL+
WCsOT4D52+6gz29IWyHJxthev9xp9xkepVa4Vo5QdXxsRBQ6D/AaBiAWnz3/MVJX
w8kU2UMXAgMBAAECggEAGq6NFAej2zvI/A4SC3ZWz8988CXkht2SjI9zKbk5mawg
xO1+dtk0Aj4AxjIq1VJaOamow7UpTAD+Tu795vyPYqnX3Ylaj2hol6zGc4F1wo0Y
4KIbpLm/zMTxmY/SJ9qpUmI7YaIYReyq/qbBGF218aZ7GJHRsIJ73NIhAoXDu+6g
fWjRg19hSz/EM/68hPxM7vstPC0S/zdMicrnbcCtA23AJL5cyifa1W1VkMv3SW3t
fswSvxLT4qDRyBxc6Xq0ULNm1Q+FMyhqtPhnUX4qi9289cal0U+9rfEhFc2q0I2T
VujPz76Ncm4IGeh/lf67dHYvwy7qHaPmL3Wto1U0IQKBgQD9hMjS6k8pkz7WCLJl
0JNHw0QWczM5+q2BfQM7w8McmWX0mvKqkLiGLyIo1QS8GgR+uOoEJ8v5rNZLW1SU
Q4SWExj8IQL+ofUDn4U1zbKtyRXybURC0GWGjbX8F4YJrLBmAuCeJNB6If4RTT/T
q9ZFYPwRzjOO+QZMICKDZlIriQKBgQDXmY6auU8uPSkPbCuZzUPX3z+fVVwRg8mm
zPGlsZ+uQvQT9qU37RpoWKxMRjjS61F2qdyxr6+++LqmAVU/QSdokJQP2A0LVCeG
+zPY/6zj4Y7CI81T2r9P6eVBVhS7eg9ggrnyIqwdBykh+u0zKXDSkfp7hEoChvL0
G6Cc2+MxnwKBgAwii/5Uit+BldNm7SskdbhMp3ivoPcYga+eDUaSE0fOK+wucokp
jjuWC/uKXsSmNirerQzv3rqfxE4tG/pQ1Qrd9Sc0aVFI7VJ0E0tFAlWBN5S4GDle
gk2TgO+FLLxP0M3BO4E2X+hIskGfwfte0U3W25n6lcs1LlD8hMpnXm2JAoGBAJAu
zUOD8gQGOtNpj68HqvtO/Ylc2HmOHOlD3cblhthPRlOjetJv6l0mD/PiclX7sTse
Vc0upOWeCZTDB3OJ6wTuy1XdMrwEx3ppvD6+nay4R3Rl5QbTH2YeEYckPjEya94r
DpdzwI6ZH1TuLnssl5r6rPy1d5lBDnFZmIvOMZ4ZAoGAL9m3qzKmOlqGAD32w11V
0zzr0orZPRiCXZ1SqQ1MRwKUexZeDCee4ZVZhhPtlyk8btqgG4j85RffFHbcwuv3
eGgx6S/6GzXRu0sICLrAmHT+Q2WA/PKp0kD6Abz1DXLJUjr/nF6UUkqEOrCvGXoq
2MhMYc07op+riO+4pUwfzRY=
-----END PRIVATE KEY-----

Извлеките закрытый ключ из архива PKCS #12 и сохраните его в файл.

$ openssl pkcs12 -in example.org.p12 -password pass:samplepassword -nocerts -nodes -out extracted_example.org.key

Извлеките закрытый ключ из архива PKCS # 12 и сохраните его в защищенном паролем файле.

$ openssl pkcs12 -in example.org.p12 -password pass:samplepassword -nocerts -passout pass:privatekeypass -out extracted_example.org.key

 Дополнительная информация

Расшифруем ключ перед добавлением его в архив PKCS #12.

$ openssl pkcs12 -export -name example.org -in example.org.pem -inkey example.org.enc.key -passin pass:privatekeypass -out example.org.p122 -password pass:samplepassword

Распространенные ошибки

Неверный пароль архива PKCS #12.

MAC: sha1, Iteration 2048
MAC length: 20, salt length: 8
Mac verify error: invalid password?

Неправильный пароль закрытого ключа.

140590081270208:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:../crypto/evp/evp_enc.c:537:
140590081270208:error:0906A065:PEM routines:PEM_do_header:bad decrypt:../crypto/pem/pem_lib.c:461:

Пожалуйста, не спамьте и никого не оскорбляйте.

Это поле для комментариев, а не спамбокс.

Рекламные ссылки не индексируются!

Skip to end of metadata

  • Применить ограничения страницы

  • Добавлено oleg, последняя редакция Отдел разработки Carbon Reductor DPI X дек 20, 2016
     (просмотреть изменение)

Go to start of metadata

  • Проверка наличия закрытого ключа в pfx-файле.
    • Carbon Reductor 8
    • Carbon Reductor 7
  • В случае возникновения проблем с экспортом ключа:
    • Error outputting keys and certificates
    • Mac verify error: invalid password
  • Центры, с ключами которых по умолчанию не работает выгрузка
  • Центры, с ключами которых выгрузка работает
    • Москва
  • Выгрузка ключа в Windows 8.1

Проверка наличия закрытого ключа в pfx-файле.

Внимание: при заказе ЭЦП в удостоверяющем центре указывайте явно, что вам необходим контейнер закрытого ключа с возможностью копирования!

В выводе команд ниже должна присутствовать секция BEGIN PRIVATE KEY.

Положить ключ в /app/reductor/cfg/userinfo/p12.pfx

Выполнить:

chroot /app/reductor/
/gost-ssl/bin/openssl pkcs12 -in /cfg/userinfo/p12.pfx -nodes

Carbon Reductor 7

Скопировать проверяемый сертификат в /usr/local/Reductor/reductor_container/root/p12.pfx

После этого выполнить

. /usr/local/Reductor/etc/const
chroot_mount
chroot /usr/local/Reductor/reductor_container/ /gost-ssl/bin/openssl pkcs12 -in /root/p12.pfx -nodes
chroot_umount

В случае возникновения проблем с экспортом ключа:

  1. Обратитесь с вопросом о возможности экспорта закрытого ключа в Удостоверяющий центр, выдавший вам токен.
  2. Проверьте настройки КриптоПРО, возможно в них указан запрет экспорта закрытого ключа.
  3. Обратитесь в техническую поддержку утилиты, используемой для экспорта закрытого ключа.
  4. Убедитесь в том, что вы проводите экспорт по инструкции, а не с помощью дефолтного certmgr в Windows.

Error outputting keys and certificates

Если вы получаете ошибку в духе:

Error outputting keys and certificates
140254691182248:error:06074079:digital envelope routines:EVP_PBE_CipherInit:unknown pbe algorithm:evp_pbe.c:167:TYPE=1.2.840.113549.1.12.1.80
140254691182248:error:23077073:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 algor cipherinit error:p12_decr.c:83:
140254691182248:error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:p12_decr.c:130:

это означает что ключ был экспортирован с помощью certmgr. См пункт 4.

Mac verify error: invalid password

Такая ошибка часто возникает при экспорте ключа без указания пин-кода. Попробуйте провести повторный экспорт, задав 8символьный простой pin-код.

Центры, с ключами которых по умолчанию не работает выгрузка

  • удостоверяющий центр — TENSORCA3 ООО Компания Тензор, Ярославль, 76 Ярославская область
  • ОАО «ИнфоТеКС», торговая марка ViPNet
  • ФГУП РОСТЭК
  • «НОВАГ-СЕРВИС» http://www.tax23.ru/

Центры, с ключами которых выгрузка работает

Москва

  • http://nwudc.ru/moscow/

Выгрузка ключа в Windows 8.1

В ОС Windows 8.1 отмечена проблема с выгрузкой закрытого ключа с версией КриптоПро 3.9 и младше при этом вход на госуслуги работает и существует возможность подписать файл. Но вот импорт закрытого ключа не происходит. Установку КриптоПро 4 нужно делать с расширенными параметрами. В том числе оставить совместимость с версией 3.6, но убрать совместимость 3.0. Остальное устанавливать все в обязательном порядке.

Я установил openssl на компьютере с Microsoft Windows, и я пытался сделать это преобразование:

От:

  • .pfx

В:

  • .crt
  • .pem
  • .key

Но я продолжаю получать эту ошибку, пытаясь использовать сертификат:

Mac verify error: invalid password?

5 ответы

Я также столкнулся с ошибкой «Ошибка проверки Mac: неверный пароль». Но после того, как я ввел пароль в командную строку вот так, у меня работает:

openssl pkcs12 -in path.p12 -out myoutput.pem -nocerts -nodes -password pass:<mypassword>

ответ дан 17 мар ’17, в 04:03

В моем случае это были специальные символы в пароле, которые сбивали с толку парсер аргументов. Так что звоните без -password ... аргумент и ввод пароля по запросу сделали свое дело.

Создан 31 июля ’20, 11:07

Я столкнулся с этой ошибкой с паролем, хранящимся в текстовом файле. Несмотря на то, что пароль в файле выглядел нормально при использовании cat, vi или nano, по-видимому, openssl чувствителен к пробельным символам и разделителям строк, поскольку я полагаю, что в нашем случае файл паролей, предоставленный нам центром сертификации, был создан в Windows. Запуск dos2unix в файле позволил параметру -password file: параметр команды openssl успешно работать в Linux.

Создан 26 сен.

Обратите внимание, что, как уже было сказано, у вас должен быть пароль, который поставляется с файлом pfx/p12/… но если у них есть не поделился с вами любым паролем, возможно пароль просто пустой. В этом случае попробуйте с -passin pass: для выражения пустого пароля.

Пример:

openssl pkcs12 -in input.p12 -out output.pem -nocerts -nodes -passin pass:

Если и это не сработает, я настоятельно рекомендую вам связаться с владельцем файла и добросовестно спросить у него пароль, который использовался, чтобы вы могли выполнить преобразование.

ответ дан 23 мар ’22, в 09:03

Для решения xelat оно больше не работает, если вы создаете .pfx с OpenSSL 3, потому что AES-256-CBC является новым шифром по умолчанию, несмотря на то, что большинство устройств его не поддерживают. Чтобы решить эту проблему, используйте эту команду:

openssl pkcs12 -in path.p12 -out myoutput.pem -nocerts -nodes -password pass:<mypassword> -certpbe PBE-SHA1-3DES -keypbe PBE-SHA1-3DES -nomac

ответ дан 10 апр.

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками

openssl
pkcs#12

or задайте свой вопрос.

Итак понадобилось мне получить доступ к единому реестру запрещенных ресурсов, но все оказалось не так просто как хотелось бы.

Вводная:
Сервер на Debian 7
ЭЦП на etoken, в нутре контейнера

ViPNet
Необходимо автоматерировать процесс регулярного обращения к реестру запрещенных ресурсов и выгрузки с него списка «плохишей»

Начало войны — Несправедливость:
Под Виндой все работает великолепно. Достаточно установить ViPNet CSP для управления сертификатами и ViPNet CryptoFile для подписи файлов. Все это есть на сайте производителя. Но для Линуксов ничего есть только программа ViPNet CSP, да и та в бета-тестирвании.

Битва первая — Драйвер:
Электронные ключи eToken выпускаются компанией  Аладин Р.Д., драйвера можно скачать на соответствующем сайте. Приятно порадовало есть драйвера для платформ отличный от Windows.

Для моего Debian это выглядило так:

Устанавливаем версию java от Oracle. Смотрим версию Java:

если установлены пакеты java OpenJDK — удаляем их:

#apt-get remove OpenJDK*

Устанавливаем java от Oracle:

#apt-key adv —keyserver keyserver.ubuntu.com —recv-keys EEA14886

#apt-get install oracle-java7-installer

Устанавливаем необходимое для работы с ключом Etoken окружение:

#apt-get install ia32-libs libhal1 opensc pcscd

Пакеты libhal1 и libpcslite1 у Вас уже должны быть установлены. Смотрите какие версии установлены следующей командой:

#dpkg -l | grep libhal1

#dpkg -l | grep libpcsclite1

Качаем и устанавливаем соответствующую версию библиотек для архитектуры x64 с репозиториев Debian:

#dpkg -x libpcsclite1_1.8.4-1_amd64.deb libpcsclite1-amd64

#dpkg -x libhal1_0.5.14-8_amd64.deb libhal1-amd64

#cp libpcsclite1-amd64/usr/lib/x86_64-linux-gnu/libpcsclite.so.1.0.0 /lib64/

#ln -s /lib64/libpcsclite.so.1.0.0 /lib64/libpcsclite.so.1

#cp libhal1-amd64/usr/lib/libhal.so.1.0.0 /usr/lib64/

#ln -s /usr/lib64/libhal.so.1.0.0 /usr/lib64/libhal.so.1

Установка драйвера SafenetAuthenticationClient. Сама эта програмулька предоставляется компанией Аладин вместе с технической поддержкой и просто так скачать ее, к сожалению, нельзя. Но я нашел ее на сайте ПромСвязьБанка.

#dpkg -i SafenetAuthenticationClient-8.0.5-0_amd64.deb
#ln -s /usr/lib64/libeTPkcs11.so /usr/lib/

Перезагружаемся (этого просит у нас драйвер SafenetAuthenticationClient) и проверяем работу ключа, он должен быть виден в списке:

Список слотов на eToken можно увидеть так:

$ pkcs11-tool —module /usr/lib/libeTPkcs11.so -L

Available slots:

Slot 0 (0x0): AKS ifdh [Main Interface] 00 00

token label:   eToken

token manuf:   SafeNet, Inc.

token model:   eToken

token flags:   rng, login required, PIN initialized, token initialized, other flags=0x200

serial num  :  01c0cfc0

Slot 1 (0x1):

(empty)

Список обектов в  определенном слоте можно увидеть так:

$ pkcs11-tool —module /usr/lib/libeTPkcs11.so —slot 0 -Ol

Data object 63307778

label:          ‘ViPNet Container’

application:    ‘rnd-f-9820-5be2-a8f9-e2d6-e2fa-2d7f-5593’

app_id:         <empty>

flags:           modifiable

Data object 141754372

label:          ‘ViPNet KeyInfo’

application:    »

app_id:         <empty>

flags:           modifiable

Содержимое объекта в слоте можно посмотреть так:

$pkcs11-tool —module /usr/lib/libeTPkcs11.so —slot 0 -a ‘ViPNet Container’ -y data -r
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
….

В общем и целом делаем вывод, что драйвера на eToken встали великолепно, НО ViPNet CSP для линукс его в упор не видит и естественно открыть свой контейнер не может.
Для проверки еще попытался подойти к вопросу со стороны.
Открываем наш любимый браузер — Mozilla Firefox, и пользуемся вот такой инструкцией:

[Инструкция использования eToken]

Инструкция использования eToken

1. Откройте настройки Firefox (Firefox | Настройки). Выберите пункт Дополнительно, перейдите на вкладку Шифрование и нажмите на кнопку Устройства защиты.

2. В окне Менеджера устройств нажмите на кнопку Загрузить для загрузки библиотеки поддержки PKCS#11.

3. В появившемся диалоге Загрузка устройства PKCS#11 задайте Имя модуля (например Aladdin eToken).

4. Укажите путь к файлу библиотеки. В ОС Linux в поле Имя файла модуля введите: /usr/lib/libeTPkcs11.so

Нажмите кнопку OK.

Теперь если нажать на кнопку Просмотр сертификатов и ввести PIN-код (запрос на ввод мастер-пароля для [имя eToken]) на вкладке Ваши сертификаты будут видны сертификаты хранящиеся в eToken.

Но к сожалению и Firefox тоже не увидел содержимого eToken, хотя само устройство идентифицировал.
Битва проиграна….

Битва вторая — Контейнер

Зализав раны от побоища я обратился за помощью к Windows и таки корректно извлек контейнер из eToken с помощью ViPNet CSP. А так же из ViPNet CSP экспортировал ЭЦП в формат PKCS#12 в файл name.pfx. Счастью не было придела. Но оказалось:

1. На Windows без установленного ViPNet CSP файл с сертификатом name.pfx не рапаковывается, ругаясь на неправильный пароль. Хотя пароль вводился 100% правильный.
Если ViPNet CSP установить то все распаковывается на ура. Без ViPNet CSP так же нельзя провести ниодин экспорт. Эта зараза помещает сикретный ключ в свой собственный контейнер с отдельным паролем. А при удалении забирает все контейнеры на небеса.

2. Утилита P12FromGostCSP так же не может произвести экспорт сертификата в формате PKCS#12 ругаясь на то, что с ViPNet она работать не умеет.

3. На Debian средствами OpenSSL просмотреть файл не удалось. Хотя пароль опять же вводился 100% правильный.

# openssl pkcs12 -in ./name.pfx  -nodes

Enter Import Password:

Mac verify error: invalid password?

Попытка включить поддержку шифрования по ГОСТ для OpenSSL  результатов не принесла.
В общем и целом ситуация складывается безвыходная — с конейнерами ViPNet может работать только сам ViPNet и больше никто. Средств для автоматизации процесов нет ни под Windows ни под Linux.
Битва проиграна…

Битва Третья — Другой криптопровайдер

Еще предстоит…

OpenSSL

Эти команды позволяют создавать операторы, сертификаты, закрытые ключи и делать другие разные задачи.

Generate a new private key and Certificate Signing Request

openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key

Generate a self-signed certificate (see How to Create and Install an Apache Self Signed Certificate for more info)

openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt

Generate a certificate signing request (CSR) for an existing private key

openssl req -out CSR.csr -key privateKey.key -new

Generate a certificate signing request based on an existing certificate

openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey privateKey.key

Remove a passphrase from a private key

openssl rsa -in privateKey.pem -out newPrivateKey.pem

Если Вам необходимо проверить информацию в сертификат, CSR или закрытого ключа, используйте эти команды. Вы также можете проверить CSR и проверки сертификатов с помощью наших онлайн-инструментов.

Check a Certificate Signing Request (CSR)

openssl req -text -noout -verify -in CSR.csr

Check a private key

openssl rsa -in privateKey.key -check

Check a certificate

openssl x509 -in certificate.crt -text -noout

Check a PKCS#12 file (.pfx or .p12)

openssl pkcs12 -info -in keyStore.p12

Эти команды позволяют преобразовать сертификаты и ключи в различные форматы, чтобы сделать их совместимыми с конкретными типами серверов или программного обеспечения. Например, вы можете конвертировать обычный pem, который будет работать с Apache в pfx-Файл (Формат pkcs#12-файл) и использовать его с Tomcat или IIS. Используйте наш SSL конвертер конвертировать сертификаты без возиться с openssl.

Convert a DER file (.crt .cer .der) to PEM

openssl x509 -inform der -in certificate.cer -out certificate.pem

Convert a PEM file to DER

openssl x509 -outform der -in certificate.pem -out certificate.der

Convert a PKCS#12 file (.pfx .p12) containing a private key and certificates to PEM

openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes

Вы можете добавить -nocerts только на выходе закрытого ключа или добавить -nokeys, чтобы только вывести сертификаты.

Convert a PEM certificate file and a private key to PKCS#12 (.pfx .p12)

openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

Подписываем файл запроса на Роскомнадзор:

#nano openssl.cnf

openssl_conf = openssl_def

[ new_oids ]

# OpenSSL GOST

[openssl_def]

engines = engine_section

[engine_section]

gost = gost_section

[gost_section]

default_algorithms = ALL

engine_id = gost

# dynamic_path = /usr/local/lib/engines/libgost.so

CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet

Проверяем наличее ГОСТ

#openssl ciphers | tr «:» «n» | grep GOST

проверяем, что у нас нормальный (содержит сертификат и закрытый ключ) PKCS#12 командой:

#openssl pkcs12 -in p12.pfx -nodes

конвертируем полученный на Windows PKCS#12 в PEM:

#openssl pkcs12 -in p12.pfx -out provider.pem -nodes -clcerts

#iconv -f UTF8 -t WINDOWS-1251 request.xml -o request.xml

подписываем xml файл нашим сертификатом:

#openssl smime -sign -in request.xml -out request.bin -signer provider.pem -outform DER

Остались не раскрытыми:

  • проблемы связанные с ruToken

Ссылки на софт:

  • КРИПТО-CSP
  • ЛИССИ-CSP, также: утилита P12FromGostCSP, Библиотеки PKCS#11, таинственные утилиты
  • ViPNet CSP
  • eToken — Аладин Р.Д.

openssl_conf = openssl_def

[ new_oids ]

# OpenSSL GOST

[openssl_def]

engines = engine_section

[engine_section]

gost = gost_section

[gost_section]

default_algorithms = ALL

engine_id = gost

# dynamic_path = /usr/local/lib/engines/libgost.so

CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet

I’m quite new to Linux (Ubuntu 10.10) and I’m having a hard time trying to import keys and certificates for a VPN connection to my work office server.

  • I have a .p12 file which is the key I’m guessing.
  • I also have a .ovpn file which could be the config settings for the connection.

How would I import these files to get a connection up and running?

Any instructions would be greatly appreciated.

Aulis Ronkainen's user avatar

asked Apr 15, 2011 at 22:05

To complement @barbaz answer:

You need to convert the .p12 file to CA certificate, client certificate and client private key.

The command line commands for these actions are:

openssl pkcs12 -nocerts -in default.p12 -out userkey.pem
openssl pkcs12 -nokeys -clcerts -in default.p12 -out usercert.pem
openssl pkcs12 -nokeys -cacerts -in default.p12 -out userca.pem

It will ask for a password for your client private key, you write what you want there, and remember that password for later.

Then you choose the option ‘Certificate (TLS)’, and select the three files, and add the password you added in the command line.

answered Apr 8, 2017 at 18:37

Nicolay77's user avatar

Nicolay77Nicolay77

4186 silver badges7 bronze badges

1

If you are unfamiliar with openvpn, you might want to try using NetworkManager to configure it. Afaik there is a package called network-manager-openvpn that will enable openvpn in your NetworkManager VPN section. The .p12 file should already contain the CA certificate, the client certificate and the client private key. If NetworkManager cannot use that file (but only accepts each of the three files individually in PEM format) you might need to convert your file.

If though you decide to run openvpn yourself as root, the configuration directive to use your file is

pkcs12 client.p12

as documented in openvpn(8).

answered Jun 17, 2011 at 22:05

barbaz's user avatar

barbazbarbaz

2,9161 gold badge16 silver badges21 bronze badges

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Openssl error messages error 1416f086 ssl
  • Openssl error c5065064 microsoft cryptoapi certfindcertificateinstore
  • Openssl error 140ab18e ssl routines ssl ctx use certificate ca md too weak
  • Openssl error 14090086
  • Opengl init error

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии