Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

tech:kb0002 [2012/04/08 17:21]
Євген Слюсар
tech:kb0002 [2012/04/08 21:39] (поточний)
Рядок 12: Рядок 12:
 ), exiting. ), exiting.
 </​code>​ </​code>​
 +
 +===== Застосовність =====
 +Проблема проявляється як у Java-сервісах,​ так і у C-сервісах.
 +
 +Підтверджено її наявність у релізах EMI-1: WMS, LB, CREAM, dCache.
 +
 +У dCache її нещодавно виправили:​ [[http://​scm.dcache.org/​WebSVN/​comp.php?​repname=dCache&​compare[]=%2F@16697&​compare[]=%2F@16698|SVN-diff]]
  
 ===== Причина ===== ===== Причина =====
-Версія бібліотеки ​OpenSSL, що використовується в системі, ​+Закритий ключ сертифіката вузла (''​hostkey.pem''​) записаний у непідтримуваному форматі PKCS#8. 
 +На це вказуватиме перший рядок файла:​ 
 +^ Заголовок ​блоку PEM-файла ​              ^ Формат ^ Рішення ​                 ^ 
 +| ''​%%-----BEGIN PRIVATE KEY-----%%'' ​    | PKCS#8 | наш випадок :-)          | 
 +| ''​%%-----BEGIN RSA PRIVATE KEY-----%%''​ | SSLeay | проблема у чомусь ​іншому | 
 + 
 +===== Пояснення ===== 
 +Пакет OpenSSL версій нижче за 1.0.0 використовував власний формат [[http://​www.openssl.org/​docs/​crypto/​pem.html#​PEM_ENCRYPTION_FORMAT|SSLeay]] для зберігання закритого ключа RSA у PEM-кодуванні, що став де-факто стандартом. 
 +Його підтримку реалізовано у багатьох пакетах засобів шифрування,​ зокрема власне [[http://​www.openssl.org|OpenSSL]],​ [[http://​www.gnu.org/​software/​gnutls/​|GNUTLS]],​ [[http://​www.mozilla.org/​projects/​security/​pki/​nss/​|Mozilla NSS]], Java(tm)-бібліотека [[http://​www.bouncycastle.org|Bouncy Castle]]. 
 +Ці бібліотеки застосовуються у багатьох компонентах Middleware. 
 + 
 +Починаючи з версії 1.0.0 у пакеті OpenSSL для зберігання закритого ключа за замовчуванням ​використовується ​формат [[http://​www.rsa.com/​rsalabs/​node.asp?​id=2130|PKCS#​8]],​ який є офіційним стандартом та більш універсальний за вмістом --- підтримуються різні алгоритми шифрування,​ а не тільки RSA. 
 +Проблема полягає в тому, що більшість згаданих бібліотека особливо їх старі версії,​ не підтримують PKCS#8.
  
 ===== Вирішення ===== ===== Вирішення =====
 +Перетворення форматів SSLeay у PKCS#8 та навпаки для закритого ключа RSA є однозначним та оборотним.
 +Щоб перетворити PKCS#8 у SSLeay, можна скористатись такою командою:​
 +<​code>​openssl rsa -in pkcs8.pem -out ssleay.pem</​code>​
 +де ''​pkcs8.pem''​ --- вхідний файл у форматі PKCS#8, а ''​ssleay.pem''​ --- результат у форматі SSLeay.
 +
 +**УВАГА!** Після перетворення формату закритого ключа обов'​язково перевіряйте права доступу на відповідні файли.
  
- --- //​[[people:​slu|Євген Слюсар]] 2012/04/08 19:54//+ --- //​[[people:​slu|Євген Слюсар]] 2012/04/09 00:28//
tech/kb0002.1333905695.txt.bz2 · В останнє змінено: 2012/04/08 17:21 (зовнішнє редагування)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0