aka писал(а):А если встроить в втварь генерилку сертификатов для самой себя, то рутовый так же придётся ставить. Но этому руту доверия уже не будет даже в объёме моего зуба
Рутовый не придется ставить. Рутовый (точнее, удостоверяющий ЦС) находится в отделе безопасности и умеет только заверять (подписывать) присланные CSRы. А вот после этого доверие на сертификат распространяется автоматически, поскольку сертификат удостоверяющего ЦС сидит у всех юзеров организации в списке корневых доверенных ЦС.
aka писал(а):Сложно всё
Да, не очень просто ((
aka писал(а):Лучше попрошу у тебя готовую пару, ключ и сертификат. Сможешь сделать?
Корпоративный сертификат мне безопасность не разрешит выдать без основания, а самоподписанный я делаю под виндами так:
1) создаем файл req.inf такого содержания:
Код: Выделить всё
[Version]
Signature="$Windows NT$
[NewRequest]
RequestType = Cert
Subject = "CN=*.wtware.local"
Exportable = true
KeyLength = 2048
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
HashAlgorithm = sha256
KeySpec = 1
KeyUsage = 0xf0
ValidityPeriodUnits = 10
ValidityPeriod = Years
;MachineKeySet = true
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1 ; Server Authentication
2) Запускаем: certreq.exe -new req.inf cert.req
В персональном хранилище создается сертификат. Файл cert.req не нужен, его можно удалить.
3) Проверяем наличие сертификата в хранилище: certutil.exe -store -user my *.wtware.local
Обращаем внимание на поля Subject и Serial Number
4) Если предыдущая команда вывела один сертификат, экспортируем его в формате pkcs12 (он же pfx):
certutil -exportpfx -p P@ssw0rd -user my *.wtware.local cert.pfx
Если выдано несколько сертификатов с одинаковым subject'ом, экспортируем по Serial Number:
certutil -exportpfx -p P@ssw0rd -user my 53a48dcad96fd58244176ba7e8516e85 cert.pfx
Здесь Serial Number я написал просто от балды.
5) Сертификат и приватный ключ экспортированы в файл cert.pfx с паролем P@ssw0rd.
Если надо преобразовать в формат PEM, ставим openssl (либо несем pfx на линукс, где установлен openssl) и делаем экспорт:
openssl pkcs12 -in cert.pfx -out cert.pem -nodes
openssl спросит пароль. После экспорта в файле cert.pem приватный ключ лежит в открытом виде!
Если сервер откажется принимать сертификат, можно попробовать поменять HashAlgorithm = sha1 вместо sha256 и повторить выдачу.
После всех манипуляций можно удалить сертификат из юзеровского хранилища, если больше не нужен:
certutil -delstore -user my <Certificate_Serial_Number>
Описание утилиты certreq и формат inf-файла запроса
[quote="aka"]А если встроить в втварь генерилку сертификатов для самой себя, то рутовый так же придётся ставить. Но этому руту доверия уже не будет даже в объёме моего зуба[/quote]
Рутовый не придется ставить. Рутовый (точнее, удостоверяющий ЦС) находится в отделе безопасности и умеет только заверять (подписывать) присланные CSRы. А вот после этого доверие на сертификат распространяется автоматически, поскольку сертификат удостоверяющего ЦС сидит у всех юзеров организации в списке корневых доверенных ЦС.
[quote="aka"]Сложно всё :([/quote]
Да, не очень просто ((
[quote="aka"]Лучше попрошу у тебя готовую пару, ключ и сертификат. Сможешь сделать?[/quote]
Корпоративный сертификат мне безопасность не разрешит выдать без основания, а самоподписанный я делаю под виндами так:
1) создаем файл req.inf такого содержания:
[code][Version]
Signature="$Windows NT$
[NewRequest]
RequestType = Cert
Subject = "CN=*.wtware.local"
Exportable = true
KeyLength = 2048
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
HashAlgorithm = sha256
KeySpec = 1
KeyUsage = 0xf0
ValidityPeriodUnits = 10
ValidityPeriod = Years
;MachineKeySet = true
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1 ; Server Authentication
[/code]
2) Запускаем: certreq.exe -new req.inf cert.req
В персональном хранилище создается сертификат. Файл cert.req не нужен, его можно удалить.
3) Проверяем наличие сертификата в хранилище: certutil.exe -store -user my *.wtware.local
Обращаем внимание на поля Subject и Serial Number
4) Если предыдущая команда вывела один сертификат, экспортируем его в формате pkcs12 (он же pfx):
certutil -exportpfx -p P@ssw0rd -user my *.wtware.local cert.pfx
Если выдано несколько сертификатов с одинаковым subject'ом, экспортируем по Serial Number:
certutil -exportpfx -p P@ssw0rd -user my 53a48dcad96fd58244176ba7e8516e85 cert.pfx
Здесь Serial Number я написал просто от балды.
5) Сертификат и приватный ключ экспортированы в файл cert.pfx с паролем P@ssw0rd.
Если надо преобразовать в формат PEM, ставим openssl (либо несем pfx на линукс, где установлен openssl) и делаем экспорт:
openssl pkcs12 -in cert.pfx -out cert.pem -nodes
openssl спросит пароль. После экспорта в файле cert.pem приватный ключ лежит в открытом виде!
Если сервер откажется принимать сертификат, можно попробовать поменять HashAlgorithm = sha1 вместо sha256 и повторить выдачу.
После всех манипуляций можно удалить сертификат из юзеровского хранилища, если больше не нужен:
certutil -delstore -user my <Certificate_Serial_Number>
[url=https://technet.microsoft.com/en-us/library/dn296456.aspx]Описание утилиты certreq и формат inf-файла запроса[/url]