Розбіжності

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

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

tech:kb0002 [2012/04/08 16:59]
Євген Слюсар створено
tech:kb0002 [2012/04/08 21:39] (поточний)
Рядок 3: Рядок 3:
 У системному журналі вузла WMS/LB періодично з'​являється таке критичне повідомлення:​ У системному журналі вузла WMS/LB періодично з'​являється таке критичне повідомлення:​
 <​code>​ <​code>​
-FATAL    SECURITY - Failed to load GSI credential: edg_wll_gss_acquire_cred_gsi():​ GSS Major Status: General failure(+FATAL    SECURITY - Failed to load GSI credential: 
 +edg_wll_gss_acquire_cred_gsi():​ GSS Major Status: General failure(
 GSS Minor Status Error Chain: globus_gsi_gssapi:​ Unable to read credential for import ​ GSS Minor Status Error Chain: globus_gsi_gssapi:​ Unable to read credential for import ​
 OpenSSL Error: tasn_dec.c:​749:​ in library: asn1 encoding routines, OpenSSL Error: tasn_dec.c:​749:​ in library: asn1 encoding routines,
Рядок 11: Рядок 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]]
 +
 ===== Причина ===== ===== Причина =====
 +Закритий ключ сертифіката вузла (''​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.1333904394.txt.bz2 · В останнє змінено: 2012/04/08 16:59 (зовнішнє редагування)
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