¼«ÂÄÍî¤Êµ»½Ñ¼Ô¤ÎÆüµ­

´ðËܤ϶ô¤Ã¤Æ¤ë¤«°û¤ó¤Ç¤ë¤«¤Ç¤¹¤¬¡¢¤è¤¯¼ñÌ£¤Ç¥«¥é¥ª¥±¡¦PKI¡¦½ð̾¡¦Ç§¾Ú¡¦¥×¥í¥°¥é¥ß¥ó¥°¡¦¾ðÊ󥻥­¥å¥ê¥Æ¥£¤ò¤ä¤Ã¤Æ¤¤¤Þ¤¹¡£Î¹¹¥¤­¡£¥Æ¥ì¥Ó¹¥¤­¤Ç·ÝǽÄÌ

OpenSSL

¿ÞÀâ¡§PKCS#5ÈëÌ©¸°¤ò¥Ñ¥¹¥ï¡¼¥ÉÊݸ¤ë¶¦Ä̸°¤ÈIV¤Îºî¤êÊý(µ­»ö½¤Àµ)

¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤¿PEM·Á¼°¤ÎPKCS#5 RSAÈëÌ©¸°¤òÉü¹æ¤·¤Æ¼è¤ê½Ð¤·¤Æ½ð̾¤Ê¤ó¤«¤Ë»È¤¨¤ë¤è¤¦¤ÊJavaScript¥é¥¤¥Ö¥é¥ê¤òºî¤ê¤¿¤¤¤È»×¤Ã¤Æ¤ë¤ó¤Ç¤¹¤¬¡¢¤Ê¤ó¤«¸½¶È¤¬Ë»»¦¤µ¤ì¤Æ¤ª¤ê¤½¤ó¤Ê»þ´Ö¤â¤Ê¤¯¡£¤¿¤À¡¢¤½¤ó¤Ê»ö¤Ç¤Ï¤â¤¦¥¨¥ó¥¸¥Ë¥¢¤È¤·¤ÆµÍ¤ó¤Ç¤¤¤ë¤Ê¤¡¤È»×¤¤¥ê¥Ï¥Ó¥ê¤Î¤¿¤á¤Ë¤¤¤í¤¤¤íÄ´¤Ù¤Æ¤ß¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£

¥Ñ¥¹¥ï¡¼¥ÉÊݸ¤ì¤¿PKCS#5 PEM·Á¼°¤ÎÈëÌ©¸°

OpenSSH¤Î¸ø³«¸°Ç§¾Ú¤ä¡¢OpenSSL¥Ù¡¼¥¹¤Ç¤ÎCA¤ä¡¢Apache¥µ¡¼¥Ð¡¼¤Îµ¯Æ°¤Ê¤É¤Ç¥Ñ¥¹¥ï¡¼¥ÉÊݸ¤ì¤¿PKCS#5 PEM·Á¼°¤Î¸ø³«¸°°Å¹æ¤ÎÈëÌ©¸°¤ò»È¤¦¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£°ìÈ̤ˤϤ³¤ó¤Ê´¶¤¸¤Î¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ë¤Ê¤Ã¤Æ¤Þ¤¹¡£

-----BEGIN RSA PRIVATE KEY----- ¢«­¡PKCS#5 RSAÈëÌ©¸°¤ò¼¨¤¹¥Ø¥Ã¥À
Proc-Type: 4,ENCRYPTED ¢«­¢¶¦Ä̸°°Å¹æ¤ÇÈëÌ©¸°¤ò°Å¹æ²½¤·¤Æ¤¤¤ë¤³¤È¤ò¼¨¤¹
DEK-Info: DES-EDE3-CBC,E83B4019057F55E9 ¢«­£¶¦Ä̸°°Å¹æÊý¼°¤È¡¢¥½¥ë¥È¤ò´Þ¤à½é´ü²½¥Ù¥¯¥¿

iIPs59nQn4RSd7ppch9/vNE7PfRSHLoQFmaAjaF0DxjV9oucznUjJq2gphAB2E2H ¢«­¤¶¦Ä̸°¤Ç°Å¹æ²½¤µ¤ì¤¿ÈëÌ©¸°ËÜÂÎ
1r9k4e7lc7LZjF0RIgfeRl7MKmLHVCNo2EhPkt5yTb6bNdf3trS03+N+L5zBoaVp
°Ê²¼¡¢Î¬

PEM·Á¼°¤ÎÈëÌ©¸°¤Ë¤Ï"BEGIN RSA PRIVATE KEY"¤È¤«½ñ¤¤¤Æ¤¢¤ë¤ä¤Ä¤È"BEGIN PRIVATE KEY"¤È¤«½ñ¤¤¤Æ¤¤¤ë¤ä¤Ä¤¬¤¢¤ë¤ó¤Ç¤¹¤±¤É¡¢¤½¤ì¤¾¤ìPKCS#5·Á¼°¤ÈPKCS#8·Á¼°¤Î¸ø³«¸°°Å¹æ¤ÎÈëÌ©¸°¤Ë¤Ê¤ê¤Þ¤¹¡£ PKCS#5¤ÈPKCS#8¤Î¸°·Á¼°¤Î°ã¤¤¤Ï¤¶¤Ã¤È¤³¤ó¤Ê´¶¤¸¡£

PKCS#5 ÈëÌ©¸°
  • PEM¥Ø¥Ã¥À¤Ë"BEGIN RSA PRIVATE KEY"¤Î¤è¤¦¤Ë¸ø³«¸°°Å¹æ¥¢¥ë¥´¥ê¥º¥à¤¬½ñ¤¤¤Æ¤¢¤ë¡£
  • ¸°ËÜÂΤˤϸø³«¸°°Å¹æ¸°¥¢¥ë¥´¥ê¥º¥à¤ò¼¨¤¹¼±Ê̾ðÊó¤Ï½ñ¤«¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç PEM¥Ø¥Ã¥À¦¤Ç¶èÊ̤¹¤ëɬÍפ¬¤¢¤ë¡£
  • (¿ô»ú¤ÎÍåÎ󤬲¿¸Ä¤¢¤ë¤«¤È¤«¡¢ÍåÎó¤ÎŤµ¤È¤«¤Ç¸«¤ë¿Í¤¬¸«¤ì¤Ð¤ï¤«¤ê¤Þ¤¹¤¬w)
PKCS#8 ÈëÌ©¸°
  • PEM¥Ø¥Ã¥À¤Ï"BEGIN PRIVATE KEY"¤Î¤è¤¦¤Ë¸ø³«¸°°Å¹æ¥¢¥ë¥´¥ê¥º¥à¤¬½ñ¤¤¤Æ¤Ê¤¤¡£
  • ¸°ËÜÂΤˤϸø³«¸°°Å¹æ¸°¥¢¥ë¥´¥ê¥º¥à¤ò¼¨¤¹¼±Ê̾ðÊó¤¬ASN.1¥ª¥Ö¥¸¥§¥¯¥È¼±ÊÌ»Ò(OID) ¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¡£
  • PKCS#8¤Î¸°¥Ç¡¼¥¿¤Ï¡¢PKCS#5¤Î¸°ËÜÂΤȥ¢¥ë¥´¥ê¥º¥à¼±Ê̻Ҥò¤Þ¤È¤á¤ÆASN.1¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤¿¤â¤Î¡£
PKCS#5¤ÎÈëÌ©¸°¤Ë¤Ï¤½¤Î¾¤Ë¡¢°Å¹æ²½¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¡¢¸ø³«¸°°Å¹æ¤ÎÈëÌ©¸°¤ò¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ë ¤¿¤á¤Î¶¦Ä̸°°Å¹æ¤Î¥¢¥ë¥´¥ê¥º¥à¡¢¥½¥ë¥È¤ò´Þ¤à½é´ü²½¥Ù¥¯¥¿¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£¥½¥ë¥È¤ÏƱ¤¸¥Ñ¥¹¥ï¡¼¥É¤ò»È¤Ã¤Æ¤â ¶¦Ä̸°°Å¹æ¤Î¶¦Ä̸°¤¬Æ±¤¸¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤¬Ìµ¤¤¤è¤¦¤Ë¸°¤ÎÊݸ»þ¤Ë¤Ä¤±¤é¤ì¤¿8¥Ð¥¤¥È¤ÎŤµ¸ÇÄê¤ÎÍð¿ô¤Ç¤¹¡£¶¦Ä̸°°Å¹æ¤Î¥¢¥ë¥´¥ê¥º¥à¤ä¸°Ä¹¤Ë°Í¸¤·¤ÆÄ¹¤µ¤¬´Þ¤à¡Ö¥½¥ë¥È¤ò´Þ¤à½é´ü²½¥Ù¥¯¥¿¡×¤ÎÀèÆ¬8¥Ð¥¤¥Èʬ¤ò¥½¥ë¥È¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£

¶¦Ä̸°°Å¹æ¤Î¶¦Ä̸°¤È½é´ü¥Ù¥¯¥¿IV¤Ï¤É¤¦¤ä¤Ã¤Æºî¤ë¤Î¤«

ÈëÌ©¸°¤ò»È¤¦¤¿¤á¤Î¥Ñ¥¹¥Õ¥ì¡¼¥º(¥Ñ¥¹¥ï¡¼¥É¡¢PIN¥³¡¼¥É¤È¤â¸Æ¤Ð¤ì¤ë)¤È¡¢Á°½Ò¤Î ¥½¥ë¥È¤«¤é¤É¤Î¤è¤¦¤Ë¶¦Ä̸°¤È½é´ü¥Ù¥¯¥¿¤òÀ¸À®¤¹¤ë¤Î¤«¤òOpenSSL¤Î¥½¡¼¥¹¥³¡¼¥É¤ò į¤á¤Ê¤¬¤éÄ´¤Ù¤Æ¤ß¤Þ¤·¤¿¡£¤³¤Î½èÍý¤ò¹Ô¤¦´Ø¿ô¤Ï "crypto/evp/evp_key.c" ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë "EVP_BytesToKey" ¤È¤¤¤¦´Ø¿ô¤Ç¤¹¡£¤³¤Î´Ø¿ô¤Ï¶¦Ä̸°¤È½é´ü²½¥Ù¥¯¥¿(IV)¤òƱ»þ¤Ëºî¤ë¤â¤Î¤Ç¤¹¤¬¡¢PKCS#5¤Î¸°¥Ç¡¼¥¿¤òÉü¹æ¤¹¤ë¤¿¤á¤Ë¤ÏÀ¸À®¤µ¤ì¤¿¶¦Ä̸°¤Î¤ß¤ò»È¤¤¡¢½é´ü²½¥Ù¥¯¥¿¤Ï´Ø¿ô¤è¤êÀ¸À®¤µ¤ì¤¿¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢PKCS#5¥Õ¥¡¥¤¥ë¤ÎDEK-Info¤Ëµ­ºÜ¤µ¤ì¤¿¥½¥ë¥È¤ò´Þ¤à½é´ü²½¥Ù¥¯¥¿Á´ÂΤò»È¤¤¤Þ¤¹¡£

¥Ñ¥¹¥Õ¥ì¡¼¥º¤È¥½¥ë¥È¤«¤é¤É¤Î¤è¤¦¤Ë¶¦Ä̸°¤È½é´ü¥Ù¥¯¥¿(IV)¤òÀ¸À®¤¹¤ë¤Î¤«¤ò¿Þ¤Ë½ñ¤¤¤Æ¤ß¤Þ¤·¤¿¡£
EVP_BytesToKey

´ðËÜŪ¤Ë¤Ï¥Ñ¥¹¥Õ¥ì¡¼¥º¤Îʸ»úÎó¤È¥½¥ë¥È¤«¤éMD5¥Ï¥Ã¥·¥å¥¢¥ë¥´¥ê¥º¥à¤Î¥Ï¥Ã¥·¥åÃͤò·×»»¤·¡¢ Äê¤á¤é¤ì¤¿Ä¹¤µ¤òÀÚ¤ê½Ð¤·¤Æ¶¦Ä̸°¤ÈIV¤ò¼èÆÀ¤·¤Þ¤¹¡£º£¤Ê¤ªMD5¸ÇÄê¤Ç»È¤ï¤ì¤Æ¤¤¤ë¤È¤¤¤¦¤Î¤Ï ¤¦¡¼¤à¤È¤¤¤¦´¶¤¸¤Ç¤¹¤Í¡£

¶¦Ä̸°¤È½é´ü¥Ù¥¯¥¿IV¤òOpenSSL¥³¥Þ¥ó¥É¤Ç´Êñ¤Ë¸«¤ë¤Ë¤Ï

¡Ö¸ø³«¸°°Å¹æ¤ÎÈëÌ©¸°¡×¤òºÇ½ªÅª¤ËÊݸ¤ë¡Ö¶¦Ä̸°°Å¹æ¤Î¶¦Ä̸°¡×¤È¡Ö½é´ü¥Ù¥¯¥¿IV¡×¤Ï¡¢ °Å¹æ²½ÂоݤÎÈëÌ©¸°¤ÎÃͤˤϰìÀÚ´Ø·¸¤Ê¤¯¡¢Ã±¤Ë¶¦Ä̸°°Å¹æ¥¢¥ë¥´¥ê¥º¥à¤È¥Ñ¥¹¥³¡¼¥É¤È¥½¥ë¥È¤Î¤ß¤Ç·è¤Þ¤ê¡¢ ´Êñ¤ËOpenSSL¤Î¥³¥Þ¥ó¥É¤Ç¸«¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

Î㤨¤Ð¡¢¶¦Ä̸°°Å¹æ¤¬¥È¥ê¥×¥ëDES(DES-EDE3-CBC)¤Ç¡¢ ¥Ñ¥¹¥³¡¼¥É¤¬ "hoge" ¤Ç¡¢¥½¥ë¥È¤¬ "E83B4019057F55E9" ¤Ç¤¢¤Ã¤¿¤È¤­¤Î¡¢ ¶¦Ä̸°¤È½é´ü¥Ù¥¯¥¿¤Ï°Ê²¼¤Î¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£

% openssl ¶¦Ä̸°°Å¹æ -p -in /dev/null -out /dev/null -pass pass:¥Ñ¥¹¥Õ¥ì¡¼¥º -S 8¥Ð¥¤¥È16¿Ê¿ô¥½¥ë¥È
(Îã)
% openssl des-ede3-cbc -p -in /dev/null -out /dev/null -pass pass:hoge -S 1F2F3F4F5F6F7F8F
salt=1F2F3F4F5F6F7F8F
key=BD2B936A94EA6C2E0D15CD066C008F1F88735EE491687A29
iv =C180CD24D8B03454 (¤³¤ÎIV¤ÏÉü¹æ¤Ë¤Ï»È¤ï¤Ê¤¤)

ÆÉ¤ß¤Ë¤¯¤¤OpenSSL¤ÎC¤Î¥³¡¼¥É²òÀϤθå¤Ç

¤µ¤ó¤¶¤ó¡¢ÆÉ¤ß¤Ë¤¯¤¤Æñ²ò¤ÊOpenSSL¤ÎC¤Î¥½¡¼¥¹¥³¡¼¥É¤òÆÉ¤ó¤À¤¢¤È¤Ç¡¢¤½¤Î¸°¤È½é´ü²½¥Ù¥¯¥¿¤ò¼èÆÀ¤¹¤ë EVP_BytesToKey´Ø¿ô¤òPython¤Ç½ñ¤­Ä¾¤·¤Æ¤¯¤ì¤Æ¤¤¤ë yasusii ¤µ¤ó¤È¤¤¤¦Êý¤¬¤¤¤é¤Ã¤·¤ã¤¤¤Þ¤·¤¿¡£ ¡ÖDiscreet Blog 25.6.2007 - OpenSSL¤ÎPBE(Password Based Encryption) (2007-06-25)¡×¡¢Àè¤Ë¤³¤Îµ­»ö¸«¤È¤­¤ã¤è¤«¤Ã¤¿orz

¤³¤ì¤Ç¡¢¤Ê¤ó¤È¤Ê¤¯JavaScript¤ÇPKCS#5¸°¤ò²ò¤¤¤ÆRSA½ð̾¤¹¤ë¤Ê¤ó¤Æ¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Êµ¤¤¬¤·¤Æ¤­¤Þ¤·¤¿¡£ º£Æü¤Ï¤³¤ó¤Ê¤È¤³¤í¤Ç¡£

²þÄû

  • 2013.04.10 - ¥½¥ë¥È¤ÈIV¤Î°·¤¤¤Ë¤Ä¤¤¤ÆÄ´ººÉÔ­¤È¤¤¤¦¤«¸í²ò¤¬¤¢¤Ã¤¿¤Î¤Ç½¤Àµ¤·¤Þ¤·¤¿¡£

wget¡¢OpenSSL 1.0.0¤ò»È¤Ã¤¿¥¿¥¤¥à¥¹¥¿¥ó¥×¥È¡¼¥¯¥ó¼èÆÀ¥¹¥¯¥ê¥×¥È

¥»¥¤¥³¡¼¤µ¤ó¤ÎSHA2¥¿¥¤¥à¥¹¥¿¥ó¥×¥Æ¥¹¥È¥µ¥¤¥È¤ò»È¤¦¤Î¤Ë¼«Á°¤ÎJava(Jython)¥×¥í¥°¥é¥à¤ò»È¤Ã¤Æ¤¤¤ë¤ó¤Ç¤¹¤¬¡¢¤Þ¤¡¡¢Â¾¤Ë¤âÊýË¡¤¬¤¢¤Ã¤Æ¤â¤¤¤¤¤Ç¤·¤ç¤¦¤Ã¤Æ¤³¤È¤Ç¡¢Perl¡¢wget¡¢OpenSSL 1.0.0¡¢tail¤ò»È¤Ã¤Æ¥¿¥¤¥à¥¹¥¿¥ó¥×¥È¡¼¥¯¥ó¤ò¼èÆÀ¤¹¤ë¥¹¥¯¥ê¥×¥È¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£cygwin¤äUnix¾å¤Ê¤éư¤¯¤ó¤¸¤ã¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¡£

Î㤨¤Ð¤³¤ó¤Ê´¶¤¸¤Ç»È¤¨¤Þ¤¹¡£

% wgetts -i data.txt -o data.tst -u http://tsp.com/ -p 1.2.3.4 -d SHA256

û¤¯¤ÆÂ礷¤¿¥×¥í¥°¥é¥à¤¸¤ã¤Ê¤¤¤Ç¤¹¤¬¡¢¤è¤«¤Ã¤¿¤é»È¤Ã¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£OpenSSL 1.0.0 ¤Ëɸ½à¤ÇÆþ¤Ã¤Æ¤¤¤ëtsget ¤Ï¡¢Perl¤ÎCurl¥Ñ¥Ã¥±¡¼¥¸¤òÆþ¤ì¤Ê¤­¤ã¤¤¤±¤Ê¤¤¤Î¤Ç·ë¹½Ìñ²ð¤À¤·¡¢»þ¹ï´Æºº¾Ú(TAC)¤ò´Þ¤ó¤À¥È¡¼¥¯¥ó¤òOpenSSL 1.0.0¤Ç¥¿¥¤¥à¥¹¥¿¥ó¥×±þÅú¤ò¤½¤Î¤Þ¤Þ²òÀϤ¹¤ë¤È¥¨¥é¡¼¤Ç¥³¥±¤Á¤ã¤¦¤Î¤Ç¡¢¤½¤Î¤¢¤¿¤êÌÌÅݤ¯¤µ¤¯¤Ê¤¤¤è¤¦¤Ë¤Á¤ç¤Ã¤È¹©Éפ·¤Æ¤ª¤ê¤Þ¤¹¡£

OpenSSL 1.0.0¤ò´Þ¤àSSL/TLS¥µ¡¼¥Ð¡¼¤ÎCipherSuites¥µ¥Ý¡¼¥È¾õ¶·

PKI Day 2010¤Î¹Ö±é¤Ç¾Ò²ð¤·¤¿°Ê²¼¤ÎÂåɽŪ¤ÊSSL/TLS¥µ¡¼¥Ð¡¼À½Éʤ˴ؤ¹¤ëCipherSuites¤Î¥µ¥Ý¡¼¥È¾õ¶·¤Î¾ÜºÙ¤ò°ìÍ÷ɽ¤Ë¤·¤¿¤â¤Î¤ò¸ø³«¤·¤Þ¤¹¡£

  • OpenSSL 1.0.0 s_server ¥Æ¥¹¥ÈÍÑ¥µ¡¼¥Ð¡¼
  • OpenSSL 0.9.8m s_server ¥Æ¥¹¥ÈÍÑ¥µ¡¼¥Ð¡¼
  • Apache mod_ssl with OpenSSL 1.0.0
  • Apache mod_ssl with OpenSSL 0.9.8m
  • Apache mod_gnutls
  • Apache mod_nss
  • Microsoft IIS on Windows Server 2003
  • Microsoft IIS on Windows Server 2008
  • Microsoft IIS on Windows Server 2008 R2
¥µ¡¼¥Ð¡¼Â¦¤ÎCipher Suites°ìÍ÷¤òÄ´¤Ù¤ë¤Î¤Ã¤Æ·ë¹½ÌÌÅݤǡ¢¥¯¥é¥¤¥¢¥ó¥È¦¤À¤È¥Ñ¥±¥Ã¥È¥­¥ã¥×¥Á¥ã¤¹¤ì¤ÐÍøÍѲÄǽ¤ÊCipher Suites°ìÍ÷¤¬°ìȯ¤Çɽ¼¨¤µ¤ì¤ë¤Î¤Ç´Êñ¤Ê¤ó¤Ç¤¹¤¬¡¢¥µ¡¼¥Ð¡¼Â¦¤Ë¤Ä¤¤¤Æ¤Ï´ðËÜŪ¤Ë¤Ï°ì¤Ä°ì¤Ä¥µ¡¼¥Ð¡¼Â¦¤ËÌ䤤¹ç¤ï¤»¤Æ¤¦¤Þ¤¯¤¤¤¯¤«³Îǧ¤·¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¡£
SSL-TLS Supported CipherSuites for Server
HTMLÈǤϤ³¤Á¤é¤Ç¤É¤¦¤¾¡£

PKI Day 2010 ¤Ç OpenSSL 1.0.0¤ÎÏ䵤»¤Æ¤â¤é¤¤¤Þ¤¹¡Á¡Á¡Á

º£Ç¯¤âJNSA PKI Day¤Îµ¨À᤬¤ä¤Ã¤Æ¤Þ¤¤¤ê¤Þ¤·¤¿¡£ºòǯ¤Ï¥Ñ¥Í¥ë¤¬Ìµ¤¯¤Æ¼ä¤·¤«¤Ã¤¿´¶¤¸¤Ç¤·¤¿¤¬¡¢º£Ç¯¤Ï¤É¤É¡Á¡Á¤ó¤È¡Ö£´»þ´Ö¡ª¡ª¡×¤â¥Ñ¥Í¥ë¥»¥Ã¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¤¹¤´¤¤¤Ç¤¹¤Í¡£»ä¤Ï OpenSSL 1.0.0 ¤Ë¤Ä¤¤¤Æ¤Á¤ç¤³¤Ã¤È¤ªÏ䵤»¤Æ¤â¤é¤¤¤Þ¤¹¡£

»ä¤Ê¤ó¤«¤è¤ê¤è¤Ã¤Ý¤É OpenSSL ¤Ë¾Ü¤·¤¤¤Ò¤È¤â¤¤¤ë¤ó¤¸¤ã¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¤¬¡¢°ì±þOpenSSL½é¿´¼Ô¤ËÇÛθ¤·¤Ä¤Ä¤â¡¢OpenSSL 1.0.0 ¥ê¥ê¡¼¥¹¤ÎºÙ¤«¤¤ÏäòPKI¥Þ¥Ë¥¢¸þ¤±¤Ë¤Ç¤­¤ì¤Ð¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£¡Ö¤½¤ó¤Ê¤Î¡¢¤È¤Ã¤¯¤ËÃΤäƤ¤¤ë¤è¡Á¡Á¤Ã¡ª¡ª¡×¤Ã¤ÆÏä⤤¤Ã¤Ñ¤¤¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢²¿¤«°ì¤Ä¤Ç¤â»²¹Í¤Ë¤Ê¤ì¤Ð´ò¤·¤¤¤Ç¤¹¡£ÌµÎÁ¤Ê¤ó¤Ç¤è¤«¤Ã¤¿¤éÍ·¤Ó¤Ë¤­¤Æ¤¯¤À¤µ¤¤¡£


¢£¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¢£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡JNSA PKIÁê¸ß±¿Íѵ»½ÑWG¼çºÅ¥»¥ß¥Ê¡¼
¡¡ PKI Day 2010¡Ý¡ã¼Ò²ñ´ðÈפȤ·¤Æ¤ÎPKI¡¿PKI¤Î10ǯ¡ä
¡¡¡¡ http://www.jnsa.org/seminar/pki-day/2010/index.html
¢£¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¢£

¢£ Æü¡¡»þ¡§¡¡2009ǯ6·î29Æü¡Ê²Ð¡Ë9»þ50ʬ¡Á18»þ40ʬ¡Ê¼õÉÕ³«»Ï9»þ20ʬ¡Ë

¢£ ¾ì¡¡½ê¡§¡¡Åìµþ¥¦¥£¥á¥ó¥º¥×¥é¥¶¥Û¡¼¥ë¡¡¡Ê½Âë¶è¿ÀµÜÁ°5-53-67¡Ë
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡http://www.tokyo-womens-plaza.metro.tokyo.jp/
¡¡¡¡¡¡¡¡¡¡¡¡ JR»³¼êÀþ¡¦ÅìµÞÅì²£Àþ¡¦µþ²¦°æ¤ÎƬÀþ¡§½Âë±Ø²¼¼ÖÅÌÊâ12ʬ
¡¡¡¡¡¡¡¡¡¡¡¡ Ãϲ¼Å´¶äºÂÀþ¡¦È¾Â¢ÌçÀþ¡¦ÀéÂåÅÄÀþ¡§É½»²Æ»±Ø²¼¼ÖÅÌÊâ7ʬ
¡¡¡¡¡¡¡¡¡¡¡¡ ÅԥХ¹(½Â88·ÏÅý)¡§½Âë±Ø¤«¤é¥Ð¥¹4ʬÀÄ»³³Ø±¡Á°¥Ð¥¹Ää²¼¼ÖÅÌÊâ2ʬ

¢£ ¼ç¡¡ºÅ¡§¡¡NPOÆüËܥͥåȥ¥¯¥»¥­¥å¥ê¥Æ¥£¶¨²ñ¡¡PKIÁê¸ß±¿Íѵ»½ÑWG

¢£ Äê¡¡°÷¡§¡¡246̾

¢£ ÎÁ¡¡¶â¡§¡¡»²²Ã̵ÎÁ

¢£ ¿½¹þÊýË¡¡§¡¡http://www.jnsa.org/seminar/pki-day/2010/index.html
¡¡¡¡¡¡¡¡¡¡¡¡¢¨¥Ú¡¼¥¸²¼Éô¤Î¿½¹þ¤ß¥Õ¥©¡¼¥à¤Î¥ê¥ó¥¯¥Ü¥¿¥ó¤è¤ê¤ª¿½¹þ²¼¤µ¤¤¡£

¢£ ¹Ö±éÆâÍÆ¡§
¡¡¡¡¡ã¼Ò²ñ´ðÈפȤ·¤Æ¤ÎPKI¡¡/ PKI¤Î10ǯ¡ä
¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤¬µÞ·ã¤ËÉáµÚ¤·¼Ò²ñ´ðÈפȤʤ俤ȸÀ¤ï¤ìµ×¤·¤¤¤â¤Î¤¬¤¢¤ê
¤Þ¤¹¡£¤½¤ÎÃæ¤Ç¡¢¥Í¥Ã¥È¼Ò²ñ¤Ë¤ª¤±¤ë¿®Íê¡ÊTRUST¡Ë¤Î»ÅÁȤߡ¢¤¹¤Ê¤ï¤Á¿®Íê
¤Î¤ª¤±¤ë¥ê¥â¡¼¥Èǧ¾Ú¤ä¡¢ÅŻҽð̾¡¢¤³¤ì¤é¤¬¥Í¥Ã¥È¼Ò²ñ¤Î´ðÈפȤ·¤ÆÉ¬Í×
¤À¤È»×¤ï¤ì¤Æ¤­¤Þ¤·¤¿¡£¤·¤«¤·¡¢¸½¼Â¤Ë¤Ï¡¢¡Ö¥Í¥Ã¥È¼Ò²ñ¤Ë¤ª¤±¤ë¿®Íê
¡ÊTRUST¡Ë¤Î»ÅÁȤߡפ¬ÄêÃ夷¡¢¼Ò²ñ´ðÈײ½¤·¤Æ¤¤¤ë¤È´¶¤¸¤Æ¤¤¤ë¿Í¤Ï¾¯¤Ê¤¤
¤Ç¤·¤ç¤¦¡£PKI day 2010¤Ç¤Ï¡¢²áµî¤«¤é¤Î¸½ºß¤Þ¤Ç¤Î¼è¤êÁȤߤä¼Ò²ñ¤ÎÊѲ½
¤âµÄÏÀ¤·¤¿¾å¤Ç¡¢¡Ö¥Í¥Ã¥È¼Ò²ñ¤Ë¤ª¤±¤ë¿®Íê¡ÊTRUST¡Ë¡×¤òô¤¦¤Ù¤­¼Ò²ñ´ðÈ×
¤È¤·¤Æ¤ÎPKI¤ÎÊý¸þÀ­¤òµÄÏÀ¤·¤Þ¤¹¡£

¢£¡¡¥×¥í¥°¥é¥à¡§

9¡§50 - 10¡§00¡¡¸æ°§»¢
JNSA¸¦µæ°÷¡¿³ô¼°²ñ¼Ò¥Ç¥£¥¢¥¤¥Æ¥£¡¡°ÂÅÄ Ä¾ »á

10¡§00 - 10¡§45
¡Ö¼Ò²ñ´ðÈפȤ·¤Æ¤Î¥â¥Ð¥¤¥ëPKI¤Îư¸þ¡×
Åìµþ¹©²ÊÂç³Ø ¶µ¼ø¡¡¼êÄÍ ¸ç »á

10¡§50 - 11¡§25
¡ÖÅŻҽð̾¤Îµ»½ÑŪÌäÂêÅÀ¤ÈÅŻҽð̾ˡ¡×
¤Ò¤«¤êÁí¹çˡΧ»ö̳½ê¡¡ÊÛ¸î»Î¡¡µÜÆâ ¹¨ »á

11¡§35 - 12¡§15
¡ÖMS Crypto¤Î10ǯ¡×
¡¡¥Þ¥¤¥¯¥í¥½¥Õ¥È³ô¼°²ñ¼Ò ¥³¥ó¥µ¥ë¥Æ¥£¥ó¥°¥µ¡¼¥Ó¥¹Åý³çËÜÉô
¡¡¡¡¡¡¡¡Security Center of Excellence¡ÊSCOE¡Ë¡¡ÅÏÊÕ À¶ »á

12¡§20-13¡§00
¡ÖOpenSSL 1.0.0¤Î¥ê¥ê¡¼¥¹¤Ë¤Ä¤¤¤Æ¡×
ÉٻΥ¼¥í¥Ã¥¯¥¹³ô¼°²ñ¼Ò¡¡¼¿Öº ¸­Æó »á

13¡§00-14¡§00¡¡¡¡ÃëµÙ¤ß

14¡§00-14¡§05 ¸á¸å¤Î¥×¥í¥°¥é¥à¤Î¤´¾Ò²ð
JNSA¸¦µæ°÷¡¿³ô¼°²ñ¼Ò¥Ç¥£¥¢¥¤¥Æ¥£¡¡°ÂÅÄ Ä¾ »á

14¡§05-18¡§30¡¡¢¨ÅÓÃæµÙ·Æ¤¢¤ê
¡Ú¥Ñ¥Í¥ë¥Ç¥£¥¹¥«¥Ã¥·¥ç¥ó¡Û¡Ö¼Ò²ñ´ðÈפȤ·¤Æ¤ÎPKI¡¡/ PKI¤Î10ǯ¡×
¡ã¥â¥Ç¥ì¡¼¥¿¡ä
¡¡¡¡¥»¥³¥à³ô¼°²ñ¼Ò IS¸¦µæ½ê¡¿PKIÁê¸ß±¿Íѵ»½ÑWG¥ê¡¼¥À¡¼¡¡¾¾ËÜ ÂÙ »á
¡ã¥Ñ¥Í¥ê¥¹¥È¡ä
¡¡¡¡¼ÒÃÄË¡¿Í ÆüËܥͥåȥ¥¯¥¤¥ó¥Õ¥©¥á¡¼¥·¥ç¥ó¥»¥ó¥¿¡¼(JPNIC)
¡¡¡¡¡¡¡¡¡¡¥»¥­¥å¥ê¥Æ¥£»ö¶ÈôÅö¡¡ ÌÚ¼ÂÙ»Ê »á
¡¡¡¡ÉٻΥ¼¥í¥Ã¥¯¥¹³ô¼°²ñ¼Ò¡¡ °ðÅÄ Î¶ »á
¡¡¡¡¥¯¥í¥¹¥È¥é¥¹¥È³ô¼°²ñ¼Ò
Âåɽ¼èÄùÌò¡¿ÆüËÜÅÅ»Òǧ¾Ú¶¨µÄ²ñ ÂåɽÍý»ö¡¡½©»³Âî»Ê »á
¡¡¡¡ÆüËܥ٥ꥵ¥¤¥ó³ô¼°²ñ¼Ò¡¡¼çÀʸ¦µæ°÷¡¡º´Æ£Ä¾Ç· »á
¡¡¡¡³ô¼°²ñ¼Ò¥¤¥Þ¡¼¥Ç¥£¥ª¡¡¥Ñ¡¼¥È¥Ê¡¼ Ëþ±ö¾°»Ë »á
¡¡¡¡Åìµþ¹©²ÊÂç³Ø ¶µ¼ø¡¡¼êÄÍ ¸ç »á

Ruby1.9+OpenSSL for Win¤ÇÂ礤¤Ë¥Ï¥Þ¤ë¤Î´¬

ÉÔ¹¬¤Ø¤Î½ø¾Ï

OpenSSL¤ò»È¤Ã¤¿¥×¥í¥°¥é¥ß¥ó¥°¤ò´Êñ¤Ë¤Ç¤­¤ë¤ÈɾȽ¤Î¥¹¥¯¥ê¥×¥È¸À¸ìRuby¤òÊÙ¶¯¤·¤Æ¤ß¤è¤¦¤«¤Ê¤¡¤È»×¤¤¤Þ¤·¤Æ¡¢¥¤¥ó¥¹¥È¡¼¥ë¤ò·è°Õ¤·¤Þ¤·¤¿¡£´Ä¶­¤Ï¼ê·Ú¤Ë½ñ¤±¤ë¤Î¤ÇWindows XP¾å¤ÇWindows¥Í¥¤¥Æ¥£¥Ö¤ÎºÇ¿·ÈǤ¬¤¤¤¤¤«¤Ê¤¡¡¢¡¢¡¢¤È»×¤¤¡ÖRubyÆþÌçÊÙ¶¯¥ë¡¼¥à¤µ¤ó¤ÎRuby1.9.1¤ÎWindows´Ä¶­¤Ø¤Î¥¤¥ó¥¹¥È¡¼¥ë¡×¤ò»²¹Í¤Ë´Êñ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ï¤Ç¤­¤Á¤ã¤¤¤Þ¤·¤¿¡£½é¿´¼Ô¤ÎHello WorldŪ¤Ê¤â¤Î¤Ïư¤¤¤Æ¤¤¤¿¤Î¤Ç¤Þ¤¡¡¢¤³¤Î»þÅÀ¤Ç¤Ï°Â¿´¤·¤Æ¤¤¤¿¤ï¤±¤Ç¤¹¡£

¾ÚÌÀ½ñºî¤ì¤Ê¤¤¤ó¤Ç¤¹¤±¤É¡¢¡¢¡¢

¤Þ¤¡¡¢¼ê»Ï¤á¤Ë¥ª¥ì¥ª¥ìX.509¾ÚÌÀ½ñ¤Ç¤âºî¤Ã¤Æ¤ß¤ë¤Ù¤§¤È¡¢

require 'openssl'
cert = OpenSSL::X509::Certificate.new
¡§ÃæÎ¬
cert.not_before = Time.now
cert.not_after = Time.now
¡§°Ê²¼Î¬
¤ß¤¿¤¤¤Ê´¶¤¸¤Çư¤«¤·¤Æ¤ß¤ë¤Ë
% ruby z2.rb
z2.rb:4:in `not_before=': error getting time (OpenSSL::X509::CertificateError)
¡¡from z2.rb:4:in `<main>'
¥²¥²¥²¤Ã¡¢not_before¤änot_after¤òÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£ÀßÄꤷ¤¿Ãͤ¬°­¤¤¤Î¤«¤È¤¤¤í¤¤¤í¥È¥é¥¤¤·¤Æ¤ß¤ë¤âÁ´¤Æ¼ºÇÔ¡£¥¦¥ó¥¦¥ó¡¢¥ª¥¤¥é¤ÏRuby+OpenSSLÁǿͤÀ¤«¤é¼«Ê¬¤Î½ñ¤¤¤¿¥³¡¼¥É¤¬°­¤¤¤ó¤À¤í¤¦¤È»×¤Ã¤¿¤ï¤±¤Ç¤¹¡£

¤Ç¡¢¥Ð¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤ëñÂΥƥ¹¥È¤Î¥³¡¼¥É¤Ê¤éư¤¯¤À¤í¤¦¤È"test_x509cert.rb"¤òư¤«¤·¤Æ¤ß¤ë¤â

%ruby test_x509cert.rb
Loaded suite test_x509cert
Started
EEEEE
Finished in 0.046875 seconds.
¡¡1) Error:
test_extension(OpenSSL::TestX509Certificate):
OpenSSL::X509::CertificateError: error getting time
¡¡¡¡utils.rb:87:in `not_before='
¡¡¡¡utils.rb:87:in `issue_cert'
¡¡¡¡test_x509cert.rb:25:in `issue_cert'
¡¡¡¡test_x509cert.rb:93:in `test_extension'
¡§°Ê²¼Î¬ (5¤Ä¤Î¥Æ¥¹¥È¥±¡¼¥¹Á´ÌÇ(µã)
ñÂΥƥ¹¥È¤À¤Ã¤Ænot_before¡¢not_after¤ÏÀßÄê¤Ç¤­¤Ê¤¤¤¸¤ã¡Á¡Á¤ó¡£¼«Ê¬¤Î´Ä¶­ÀßÄ꤬°­¤¤¤ó¤À¤í¤¦¤È¤¤¤í¤¤¤íÄ´¤Ù¤Æ¤â¤ß¤Þ¤·¤¿¤¬¡¢°­¤¤¤È¤³¤í¤Ï¤Ê¤µ¤½¤¦¡£OpenSSL¤ÎDLL¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¤¤¤±¤Ê¤¤¤Î¤«¤È¡¢¾å¤Î¥¬¥¤¥ÉÄ̤ê¤À¤È0.9.8d¤¬Æþ¤ë¤È¤³¤í¤ò0.9.8l(ºÇ¿·)¤Ë¤·¤Æ¤â¤ä¤Ï¤êƱ¤¸¡£Ã±ÂΥƥ¹¥È¤¬Ä̤äƤʤ¤¤è¤¦¤Ê¥Ð¥¤¥Ê¥ê¤¬ÇÛ¤é¤ì¤Æ¤ë¤Ê¤ó¤Æ¥Ò¥É¥¤¡¢¡¢¡¢¤È¶òÃԤꤿ¤¯¤â¤Ê¤ê¤Þ¤¹(ÎÞ)¡£

»î¤·¤ËPKCS#12¤òÆÉ¤ó¤Ç¤ß¤ë¤Ë¡¢¡¢¡¢

¾ÚÌÀ½ñ¤òºî¤ë¤Î¤Ï¤È¤ê¤¢¤¨¤º¤¢¤­¤é¤áPKCS#12¤ÎÃæ¤ËÆþ¤Ã¤¿ÈëÌ©¸°¤Ç½ð̾¤Ê¤ó¤«¤·¤Æ¤ß¤è¤¦¤«¤È¡¢PKCS#12¤òÆÉ¤ß¹þ¤ó¤Ç¤ß¤ë¤Ë¡¢¡¢¡¢

require 'openssl'
p12 = OpenSSL::PKCS12.new(File.read("test.p12"), "password")
¤³¤ì¤ò¼Â¹Ô¤¹¤ë¤È
% ruby p12_1.rb
p12_1.rb:4:in `initialize': PKCS12_parse: mac verify failure (OpenSSL::PKCS12::PKCS12Error)
¡¡from p12_1.rb:4:in `new'
¡¡from p12_1.rb:4:in `<main>'
¥Ñ¥¹¥ï¡¼¥É¤¬´Ö°ã¤Ã¤Æ¤¤¤ë»þ¤Ë½Ð¤¬¤Á¤Ê¥¨¥é¡¼¤È¤Ê¤ê¤Þ¤¹¡£¤³¤ì¤â¡¢¤¤¤í¤¤¤í¼ê¤òÊѤ¨¤ä¤Ã¤Æ¤ß¤Þ¤·¤¿¤¬¤¦¤Þ¤¯¤¤¤­¤Þ¤»¤ó¡£

¤Ç¡¢¾Ü¤·¤¤Êý¤Ëʹ¤¤¤Æ¤ß¤ë¤Ë¡¢¡¢¡¢

¤É¤¦¤ä¤éWindowsÈǤÎRuby 1.9·Ï¤ÎOpenSSL¥â¥¸¥å¡¼¥ë¤Ï¤Á¤ã¤ó¤Èư¤«¤Ê¤¤¤Èʹ¤­¤Þ¤·¤¿¡£ ¤Á¤ç¤Ã¤È»î¤·¤¿¤À¤±¤Ç2¤Ä¤Î¥á¥½¥Ã¥É¤¬´üÂÔ¤·¤¿Æ°ºî¤ò¤·¤Ê¤¤¤ï¤±¤Ç¡¢Àµ¤·¤¯Æ°¤¯¤Î¤â¤¢¤ë¤ó¤Ç¤¹¤¬¡¢¤Á¤ç¤Ã¤È¤ª¤Ã¤«¤Ê¤¯¤Æ»È¤¨¤Ê¤¤¤Ç¤¹¤Í¡£¤¦¡Á¡Á¤à»Äǰ¡£¤Ê¤ó¤«¡¢¤ä¤ëµ¤¤¬¼º¤»¤Á¤ã¤Ã¤¿¤Ê¤¡¡¢¡¢¡¢¡¢Ubuntu¤Ç¤âRuby¤ÈOpenSSL¤òÆþ¤ì¤Æ¤ß¤¿¤é¡¢Á°½Ò¤Î¥³¡¼¥É¤Ï²¿¤ÎÌäÂê¤â¤Ê¤¯¥¹¥ë¤Ã¤Èư¤­¤Þ¤·¤¿¡£

% aptititude install ruby1.9
% aptititude install libopenssl-ruby1.9
¥¨¥é¡¼¾ðÊó¤ò¸µ¤ËGoogle¤Ç¸¡º÷¤·¤Æ¤ß¤¿¤ê¤·¤¿¤ó¤Ç¤¹¤¬¡¢Ëؤɲ¿¤â¥Ò¥Ã¥È¤·¤Þ¤»¤ó¤Ç¤·¤¿¡£¤ß¤ó¤Ê¡¢Æ±¤¸ÌäÂê¤Ë½Ð¤¯¤ï¤·¤Æ¤Ê¤¤¤Î¤«¤Ê¤¡¡¢¡¢¡¢WindowsÈǤÎRuby 1.9¤ÇOpenSSL¤ò»È¤¦¾ì¹ç¤Ë¤Ïµ¤¤ò¤Ä¤±¤Þ¤·¤ç¤¦¤Ã¤Æ¤³¤È¤Ç¡¢¡¢¡¢

pathfinder¤È¤¤¤¦¾ÚÌÀ½ñ¤Î¥Ñ¥¹¸¡¾Ú¥Õ¥ê¡¼¥¦¥§¥¢»îÍÑʳƮµ­(µã) (Âè2ÏÃ)

°ìºòÆü¤Ï²ù¤·¤¤»×¤¤¤ò¤·¤¿¤Î¤Çw¡¢OpenSSL¤ÎDebian¸°ÀȼåÀ­¤Î»þ¤Ëºî¤Ã¤¿Ubuntu´Ä¶­¤ò°ú¤ÃÄ¥¤ê¤À¤·¤Æ¤­¤Æ¡¢pathfinder¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ß¤ë¤³¤È¤Ë¤·¤¿¡£

°Ê²¼¡¢È÷˺ϿŪ¤Ë¡¢¡¢¡¢

% aptitude install openssh-server
¢£ D-Bus¤Î¥Ó¥ë¥É¤ËɬÍפ½¤¦¤Ê¥Ñ¥Ã¥±¡¼¥¸¤Î¥¤¥ó¥¹¥È¡¼¥ë
% apt-get install -s dbus (1.1.20¤À¤Ã¤¿¤Î¤Ç¸Å¤¹¤®)¥Ñ¥Ã¥±¡¼¥¸¤Ï»È¤ï¤Ê¤«¤Ã¤¿
% apt-get install autoconf
% apt-get install automake
% apt-get install libtool
% apt-get install expat
% apt-get install libexpat1-dev
¢£ D-Bus¤Î¥Ó¥ë¥É
% ./configure
% make >& make.log &
% tail -f make.log
% make install
¢£ WvStreams¤Î¥Ó¥ë¥É¤È¥¤¥ó¥¹¥È¡¼¥ë
% ./configure
Configure: error: C++ preprocessor "/lib/cpp" ¤È½Ð¤¿¤Î¤Ç°Ê²¼¤ò¼Â¹Ô
% apt-get install g++
% apt-get install libssl-dev
% make >& make.log &
% tail -f make.log
% make install
¢£ pathfinder¤Î¥Ó¥ë¥É¤È¥¤¥ó¥¹¥È¡¼¥ë


ÅÓÃæ¡¢¥Ñ¥Ã¥±¡¼¥¸¤Î¥¤¥ó¥¹¥È¡¼¥ëÃæ¤ÇºÆµ¯Æ°¤òµá¤á¤é¤ì¤¿¤ó¤Ç¤¹¤¬¡¢ºÆµ¯Æ°¸å¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥À¥×¥¿¤¬Ç§¼±¤µ¤ì¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£orz

¤É¤¦¤ä¤éD-Bus¤¬°­¤µ¤ò¤·¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£·ë¶É¡¢pathfinder¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Þ¤Çé¤ê¤Ä¤±¤Þ¤»¤ó¤Ç¤·¤¿¡£

¤«¤Ê¤ê¿´¤¬ÀÞ¤ì¤Æ¤¤¤ë¡¢¡¢¡¢

¤¿¤«¤¬¥Ñ¥¹¸¡¾Ú¤Ê¤Î¤Ë¡¢¤É¤¦¤·¤Æ¤³¤ó¤Ê¤Ë¤â¡¢¤É¤¦¤Ç¤â¤è¤¤¥Ñ¥Ã¥±¡¼¥¸¤Ë°Í¸¤·¤Æ¤¤¤ë¤Î¤«¤È¡¢¡¢¡¢

pathfinder¤È¤¤¤¦¾ÚÌÀ½ñ¤Î¥Ñ¥¹¸¡¾Ú¥Õ¥ê¡¼¥¦¥§¥¢»îÍÑʳƮµ­(µã) (Âè1ÏÃ)

ËÜÅö¤Ï¤ä¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤³¤È¤¬»³ÀѤ·¤Æ¤¤¤ë¤Î¤Ë¡¢¸½¼ÂƨÈò¤Çpathfinder¤È¤¤¤¦RFC 5280¤Î¥Ñ¥¹¸¡¾Ú¤Ë½àµò¤·¤¿¥Õ¥ê¡¼¥½¥Õ¥È¤¬¸ø³«¤µ¤ì¤¿¤è¤¦¤Ê¤Î¤ÇÁᮻ¤Æ¤ß¤¿¡£ÆÃħ¤Ï¤³¤ó¤Ê¤È¤³¤é¤·¤¤

¡¦¾ÚÌÀ½ñ¤Î½ð̾Ã͸¡¾Ú
¡¦Ì¾Á°¥Á¥§¡¼¥ó¸¡¾Ú
¡¦´ðËÜÀ©Ìó¤Î¸¡¾Ú
¡¦¾ÚÌÀ½ñ¥Ý¥ê¥·¤Î¸¡¾Ú(´Þ¥Ý¥ê¥·¡¼¥Þ¥Ã¥Ô¥ó¥°)
¡¦¸°»ÈÍÑË¡¤Î¸¡¾Ú
¡¦OCSP¤Ë¤è¤ë¼º¸ú¸¡¾Ú
¡¦¥Ö¥ê¥Ã¥¸CA¤ò´Þ¤à¥Ñ¥¹¸¡¾Ú¤Ë¤âÂбþ¤·¤Æ¤¤¤ë¤Ã¤Ý¤¤
¡¦AIA³ÈÄ¥¤Ë¤è¤ë¥Ñ¥¹¹½ÃÛ¤âÂбþ¤·¤Æ¤ë¤Ã¤Ý¤¤
¡¦C++¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¤Ã¤Ý¤¤¡£

¥½¡¼¥¹¥³¡¼¥É¤Ï¤³¤³(code.google.com)¤«¤é¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤ë¤è¤¦¤Ç¡¢º£Æü¤Î»þÅÀ¤Ç¥Ð¡¼¥¸¥ç¥ó¤Ï1.1.2(2009.09.23ÈÇ)¤À¤Ã¤¿¡£

¥¤¥ó¥¹¥È¡¼¥ë


¥½¡¼¥¹¥³¡¼¥É¤Î¤ß¤ÎÇÛÉۤʤΤǡ¢¥Ó¥ë¥É¤·¤Ê¤¤¤È¤¤¤±¤Ê¤¤¡£cygwin´Ä¶­¤Ç¤ä¤ë¤³¤È¤Ë¤¹¤ë¡£°Ê²¼¤Î¤â¤Î¤¬Â¿Ê¬É¬Íפˤʤ롣
¡¦g++
¡¦cmake

¥¤¥ó¥¹¥È¡¼¥ëÀè¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤è¤¤¤Î¤Ç(cmake¤ò»È¤Ã¤¿¤³¤È¤Ê¤¤¤Î¤Ë)cmake°ìȯ¤·¤Æ¤ß¤ë¤³¤È¤Ë¤¹¤ë¡£

% cmake .


¤¢¤¨¤Ê¤¯¥¨¥é¡¼¤ÇÇÔÂà¡£²¿¤ä¤é¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¡¼¤Î¥é¥¤¥Ö¥é¥ê¤È¤·¤Æ
¡¦D-Bus
¡¦WvStreams
¡¦OpenSSL (¤Þ¤¡¤³¤ì¤Ï¤¢¤ë¤±¤É)
¤¬É¬Íפʤó¤À¤½¤¦¤À¡£

¥Ð¡¼¥¸¥ç¥ó¤Î»ØÄê¤â̵¤¤¤Î¤Ç»ÅÊý¤Ê¤¯D-Bus¤Î¥µ¥¤¥È¤«¤édbus-1.3.0.zip¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤¿¡£Ê·°Ïµ¤Åª¤ËDebian¤Ê¤é¥Ð¥¤¥Ê¥ê¥Ñ¥Ã¥±¡¼¥¸¤¬¤¢¤ê¤½¤¦¤À¤Ã¤¿ orz

ƱÍͤËWvStreams¤Î¸ø¼°¥µ¥¤¥È¤«¤éé¤Ã¤Æ¡¢wvstreams-4.6.1.tar.gz¤òÍî¤È¤·¤Æ¤­¤¿¡£


ºÆÀï(1)¡§WvStreams¤Î¥Ó¥ë¥É



¸ø¼°¥µ¥¤¥È¤Î¥È¥Ã¥×¤Ë¿ÆÀڤˤâ¥Ó¥ë¥ÉË¡¤¬½ñ¤¤¤Æ¤¢¤ë¤Î¤ÇÍ­Æñ¤¯¤½¤ÎÄ̤ê¤ä¤ë¡£

% tar -xzvf wvstreams-4.6.1.tar.gz
% cd wvstreams-4.6.1
% ./configure
% make (as root:)
% make install


¤Ç¡¢"./configure"¤·¤Æ¤ß¤¿¤ó¤À¤±¤É¥¨¥é¡¼¤¬¡¢¡¢¡¢

configure: WARNING: DBUS is missing.
configure: WARNING: PAM is missing.
configure: WARNING: Qt is missing.
configure: WARNING: Valgrind is missing.
configure: WARNING: readline is missing.
configure: WARNING: both tr1/functional and boost/function.hpp are missing.
configure: error: Required dependencies missing: boost/function.hpp


tr1¤ä¤éboost¤Ã¤Æ²¿¤Ã¤ÆÄ´¤Ù¤Æ¤ß¤ë¤ËC++¤Îɸ½à¥é¥¤¥Ö¥é¥ê¤Î³ÈÄ¥°ÆTechnical Report 1¤Î¼ÂÁõ¤Î¤è¤¦¤À¡£ºÇ¶á¡¢C++¤ËÁ¤¤¤Î¤ÇÁ´Á³¤·¤é¤Ê¤«¤Ã¤¿¡£¤Ä¡Á¡Á¤«¡¢¤Ê¤ó¤Çg++¤Ë¤ÏÆþ¤Ã¤Æ¤Ê¤¤¤ó¤À¤í¤¦¡¢¡¢¡¢Ï·¿Í¤Ë¤Ï¥Ó¥ë¥É¤Ï¿É¤¤¤Î¤ÇÀ§Èóɸ½à¤ÇTR1¤ò¼ÂÁõ¤·¤ÆÄº¤­¤¿¤¤¡£

ÃÊ¡¹¡¢ÌÌÅݽ­¤¯¤Ê¤Ã¤Æ¤­¤¿orz

Boost¤Î¥¤¥ó¥¹¥È¡¼¥ë


Boost¤Î¸ø¼°¥µ¥¤¥È(www.boost.org)¤«¤é¥Ð¡¼¥¸¥ç¥ó1.40.0¤Î¥¢¡¼¥«¥¤¥Ö¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ(¤ª¤¤¤ª¤¤¥½¡¼¥¹tgz¤Ç40MB¤â¤¢¤ë¤è)¥Ó¥ë¥É¤·¤è¤¦¤È¤·¤¿¤ó¤Ç¤¹¤¬¡¢cygwin¤ÇÎɤ¯¸«¤¿¤éboost¥Ñ¥Ã¥±¡¼¥¸¤¢¤Ã¤¿¤è¡£Í­Æñ¤¯¥Ñ¥Ã¥±¡¼¥¸¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£cygwin¤òÎɤ¯¸«¤Þ¤·¤¿¤¬¡¢D-Bus¤ÈWvStreams¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Ï̵¤¤¤³¤È¤ò³Îǧ¤·¤¿¡£

D-Bus¤Î¥¤¥ó¥¹¥È¡¼¥ë


WvStreams¤ÏD-Bus¤ò»È¤¦¤è¤¦¤Ê¤Î¤Ç¡¢D-Bus¤«¤éÀè¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤Ë¤·¤¿¡£

% ./configure --prefix=/usr
% make
% su make install


¤Ç¤¤¤±¤ë¤½¤¦¤À¡£gettext¤Èexpat or libxml-2¤òɬÍפȤ¹¤ë¤é¤·¤¤¡£cygwin¤Îlibxml-2-devel¥Ñ¥Ã¥±¡¼¥¸¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¡£

¤Ç¡¢¤¨¤¨¤¤¤Ã¡¢¡¢¡¢¤Ã¤È"./configure"¤·¤Æ¤ß¤ë¤â"./configure"¤¬Ìµ¤¤¤¸¤ã¡Á¡Á¡Á¤ó¡£autoconf¤Ê¤Î¤«¤Ê¡£¤ï¤«¤é¤Ê¤¤¤Î¤Çcmake¥Ç¥£¥ì¥¯¥È¥ê¤Ë²¼¤ê¤Æ

% cd cmake
% cmake .


¤·¤Æ¤ß¤¿¡£cmake¤Ï¤¦¤Þ¤¯¤¤¤Ã¤¿¤è¤¦¤À¡£¤Ç¡¢

% make


¤¦¡Á¡Á¤à¡¢¥Ó¥ë¥É¥¨¥é¡¼¤À¡£

cmake¤Ï¤À¤á¤ß¤¿¤¤¤À¡£"autoconf"¤Ë¤¹¤ë¤«¡¢¡¢¡¢¡¢»ÅÊý¤Ê¤¯¡¢cygwin¤Îautoconf¡¢automake¡¢libtool(libtoolize¤¬Æþ¤Ã¤Æ¤¤¤ë)¤Î¥Ñ¥Ã¥±¡¼¥¸¤òÄɲ乤롣¤Ç¥³¥ó¥Õ¥£¥°¥ì¡¼¥·¥ç¥óÍѤΥ¹¥¯¥ê¥×¥È¤¬¤¢¤ë¤è¤¦¤Ê¤Î¤Ç¼Â¹Ô¤·¤Æ¤ß¤ë¡£

% ./autogen.sh


MD4¤Ë´Ø¤·¤Æ·Ù¹ð¤¬½Ð¤¿¤¬Ìµ»ë¤·¤Æ¤·¤Þ¤Ã¤¿¡£

Now type 'make' to compile dbus.


¤È½Ð¤¿¤Î¤Ç¡¢¤É¤¦¤ä¤é"./configure"¥Õ¥¡¥¤¥ë¤ÎÀ¸À®¤È¼Â¹Ô¤Ï¤¦¤Þ¤¯¤¤¤Ã¤¿¤è¤¦¤À¡£

% make


¤Ç¡¢¥¨¥é¡¼¡£¤É¤¦¤ä¤éshared libraryÈǤò¤Ä¤¯¤ë¤¿¤á¤Î¥ª¥×¥·¥ç¥ó¤¬´Ö°ã¤Ã¤Æ¤¤¤ë¤è¤¦¤À¡£libtool¤Þ¤ï¤ê¤Îµ­½Ò¤¬¤¤¤±¤Ê¤¤¤Î¤«¤â¤·¤ì¤Ê¤¤¡£ÌÌÅݤʤΤÇstatic¤À¤±¤Ë¤·¤Æ¤·¤Þ¤¦¡£

% ./configure --enable-static --disable-shared


¤Ç¡¢

% make >& make.log &
% tail -f make.log


¤È¤ê¤¢¤¨¤º¡¢D-Bus¤Î¥Ó¥ë¥É¤Ï½çÄ´¤Ë¿Ê¤ó¤Ç¤¤¤ë¤è¤¦¤Ë¸«¤¨¤ë¡¢¡¢¡¢¤È»×¤Ã¤¿¤é¥³¥±¤¿¡£Â¿Ê¬aclocal.m4¡¢acinclude.m4¤Î¥Þ¥¯¥í¤¬½èÍý¤Ç¤­¤Æ¤¤¤Ê¤¤¤Ã¤Ý¤¤¡£autoconf¤«¤éÌá¤ë¤«¡£

¤µ¤­¤Û¤É¤Î"autogen.sh"¤Î¼Â¹Ô»þ¤Î·Ù¹ð¤Ç¤Ï¡¢

libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.in and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.


¤È½Ð¤Æ¤¤¤¿¤Î¤Ç¡¢"configure.in"¤ò¤¤¤¸¤Ã¤Æ

½¤ÀµÁ°
AC_INIT(dbus, [dbus_version])
½¤Àµ¸å
AC_INIT(dbus, [dbus_version])
AC_CONFIG_MACRO_DIR([m4])


¤È¤¹¤ë¤³¤È¤Ë¤·¤Æ¡¢ºÆÅÙ "autogen.sh" ¤ò¼Â¹Ô¤·¤¿¡£·Ù¹ð¤Ï̵¤¯¤Ê¤ê̵»ö "configure" ¤¬¼Â¹Ô¤µ¤ì¤¿¤è¤¦¤À¡£(Ëè²ó¤³¤ó¤Ê¤³¤È¤ò½ñ¤¤¤Æ¤¤¤ë¡£)¤Þ¤¿¡¢static¥é¥¤¥Ö¥é¥ê¤Î¤ß¤Ë¤¹¤ë¤è¤¦configure¤òºÆ¼Â¹Ô¤·¤Æ¥Ó¥ë¥É¤¹¤ë¡£

% ./configure --enable-static --disable-shared
% make >& make.log &
% tail -f make.log


¤¦¡Á¤à¤À¤á¤À¥¨¥é¡¼¤À¡Á¡Á¡Á¡£dbus-sysdeps-unix.c¤¬¥À¥á¤Ã¤Ý¤¤¡£

D-Bus¤ò¥½¡¼¥¹¤«¤écygwin¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤ÏÄü¤á¤ë¤³¤È¤Ë¤¹¤ë¡£

¤¿¤Þ¤¿¤Þ¡¢D-Bus¤ò¤Á¤ç¤Ã¤È¸Å¤¤¤±¤Écygwin¥Ñ¥Ã¥±¡¼¥¸¤Ë¤·¤ÆÇۤäƤ¤¤ë¤È¤³¤í¤òȯ¸«¤·¤¿¤Î¤Ç¤³¤ì¤ò»È¤Ã¤Æ¤ß¤ë¤³¤È¤Ë¤¹¤ë¡£

http://ftp.daum.net/cygwin/release-2/dbus/


URL¤ò»ØÄꤷ¤ÆÉáÄ̤ˤϥ»¥Ã¥È¥¢¥Ã¥×¤Ç¤­¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢¥Ñ¥Ã¥±¡¼¥¸¥Õ¥¡¥¤¥ë(.bz2)¤ò¼ê¤Ç¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¡¢

- dbus-1.2.16-1.tar.bz2
- libdbus1_3-1.2.16-1.tar.bz2
- libdbus1-devel-1.2.16-1.tar.bz2
¤ò /tmp ¤Ê¤É¤Ç
% bunzip2 -dc dbus-1.2.16-1.tar.bz2 | tar xvf -
¤·¤Æ¡¢
% cp -r usr /
% cp -r etc/dbus-1 /etc
etc/{postinstall,preremove}¤ò»²¹Í¤Ë
% mkdir -p /var/lib/dbus
% /usr/bin/dbus-uuidgen --ensure


¤¹¤ì¤Ð¡¢D-Bus 1.2.16¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤¿¤Î¤Ç¤Ï¤Ê¤¤¤«¤È»×¤¦¡£

Ť«¤Ã¤¿¡¢¡¢¡¢orz

ºÆÀï¡§WvStreams¤Î¥¤¥ó¥¹¥È¡¼¥ë



WvStreams¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ËÌá¤ë¤³¤È¤Ë¤¹¤ë¡£

% ./configure


D-Bus¤Ï1.2.14°Ê¾å¤¬É¬Íפʤ褦¤À¡£D-Bus¤¬»È¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ò°ì±þ³Îǧ¤·¤¿¡£

configure: WARNING: DBUS is missing.
configure: WARNING: PAM is missing.
configure: WARNING: Qt is missing.
configure: WARNING: Valgrind is missing.
configure: WARNING: readline is missing.
configure: WARNING: both tr1/functional and boost/function.hpp are missing.
configure: error: Required dependencies missing: boost/function.hpp


ÁêÊѤï¤é¤º¡¢D-Bus¤¬Ìµ¤¯¡¢Boost¤â̵¤¤¤ÈÅܤé¤ì¤¿orz

% ./configure --with-dbus --with-openssl


pkg-config¤¬¤¤¤ë¤ß¤¿¤¤¤À¤¾¡£cygwin¤Î¥Ñ¥Ã¥±¡¼¥¸¤òÄɲä·¤¿¡£ÃÊ¡¹¡¢Æ¬¤­¤¿¡£ÁêÊѤï¤é¤ºTR1¤«Boost¤Ç¤ÏÅܤé¤ì¤ë¡£

cygwin¤ÎBoost¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Î¾ì½ê¤ò¸«¤Æ¤ß¤¿¤é

/usr/include/boost ¤¬¤Ê¤¤¤Î¤Ç
% cd /usr/include
% ln -s boost-1_33_1/boost boost


¤³¤ì¤Ç¡¢¤è¤¦¤ä¤¯ configure ¤Ï¤¦¤Þ¤¯Ä̤ä¿(¤ä¤ì¤ä¤ì)¡£¥Ó¥ë¥É¤·¤Æ¤ß¤ë¡£

% make >& make.log &
% tail -f make.log


¤¢¤é¤é¡¢¡¢¡¢ºÆÅÙ configure ¤·¤Á¤ã¤Ã¤Æ¤ë(µã)¡£µ¤Ä¹¤ËÂԤĤ³¤È¤Ë¤¹¤ë¡£¤¢¤é¤é¡¢¤ä¤Ã¤Ñ¤ê¥À¥á¤À¤Ã¤¿¡£

./include/wvtask.h:27:22: ucontext.h: No such file or directory
./include/wvtask.h:57: error: `ucontext_t' does not name a type


cygwin¤ÏUser Thread Context¤¬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç"ucontext.h"¤â̵¤¤¤¿¤á¡¢¤½¤ê¤ã¥Ó¥ë¥É¤Ç¤­¤Ê¤¤¤ï¤±¤À¡£

¤¦¤à¤à¡¢»Äǰ¡¢º£Æü¤Ï¤³¤ì¤¯¤é¤¤¤Ç¡¢¡¢¡¢

ÊýË¡¤¬Â¾¤Ë¸«¤Ä¤«¤é¤Ê¤¤¤è¤¦¤Ê¤écygwin¤Ï¤¢¤­¤é¤á¤Æ¡¢Debian(Ubuntu)¤Ç¥Ó¥ë¥É¤·¤Æ¤ß¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£

Black Hat¤Î¾ÚÌÀ½ñNull Termination¹¶·â (¤½¤Î4:ÈÖ³°ÊÔ RubyÊÔ)

°ìÏ¢¤ÎNull Termination¹¶·â¤Îµ­»ö¤ÎÈÖ³°ÊԤȤ·¤Æ¡¢Ruby¤Îhttpclient2¤Ê¤é¤É¤¦¤Ê¤Î¤«¡¢¤Á¤ç¤Ã¤È»î¤·¤Æ¤ß¤Þ¤·¤¿¡£

¤³¤³¤Ë¤Ï¤³¤ó¤Ê¤³¤È¤¬½ñ¤¤¤Æ¤¢¤ë¤Î¤Ç

Ruby¤Înet/https¤è¤ê
Ãí°Õ¡£net/https ¤Ï RFC2818 ¤Î 3.1 ¤ËÄê¤á¤é¤ì¤¿¡Ö¥µ¡¼¥Ð¡¼¤Î¾ÚÌÀ½ñ¤Ëµ­ºÜ¤µ¤ì¤¿¿È¸µ¤Î¥Á¥§¥Ã¥¯¡×¤ò¼«¤é¤Ï¤·¤Ê¤¤¡£Àܳ¤·¤Æ¤¤¤ë¤Ï¤º¤Î¥µ¡¼¥Ð¤Î¥Û¥¹¥È̾¤È¾ÚÌÀ½ñ¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È̾¤¬°ìÃפ¹¤ë¤«¤ò¥é¥¤¥Ö¥é¥ê¤Î»ÈÍѼԤ¬³Æ¼«¼ÂÁõ¤¹¤ëɬÍפ¬¤¢¤ë¡£


Ruby¤Ï¥Û¥¹¥È̾¤Î°ìÃ׳Îǧ¤Ï¤·¤Æ¤Ê¤¤¤Î¤«¤È»×¤Ã¤¿¤é¡¢gotoyuzo¤µ¤ó¤ä¡¢nahi¤µ¤ó¤¬¡ÖRuby News 2007.10.04: net/https¥é¥¤¥Ö¥é¥ê¤Ë¤ª¤±¤ë¡ÖÃæ´Ö¼Ô¤Ë¤è¤ë¤Ê¤ê¤¹¤Þ¤·¹¶·â¡×¤ËÂФ¹¤ëÀȼåÀ­¤Ë¤Ä¤¤¤Æ¡×¤Ë½ñ¤«¤ì¤Æ¤¤¤ëÄ̤ꡢ¤Á¤ã¤ó¤È¥Û¥¹¥È̾¤Î°ìÃ׳Îǧ¤Ï¤·¤Æ¤¤¤ë¤È¶µ¤¨¤Æ¤¯¤ì¤Þ¤·¤¿¡£

¤½¤ì¤Ç¤Ï¤È¡¢Ruby(¤ÎOpenSSL)¤Ç¤ÏNull Termination¤ÎÌäÂê¤Ïµ¯¤­¤Ê¤¤¤Î¤«¤È³Îǧ¤·¤Æ¤ß¤Þ¤·¤¿¡£OpenSSL¤Ç¤ÏNull¤¬¤¢¤Ã¤Æ¤â¼±ÊÌ̾¤Î°À­ÃͤÏÀµ¤·¤¯"\00"¤Î¤è¤¦¤Ë¼èÆÀ¤Ç¤­¤ë¤Î¤Ç¿ʬÌäÂê̵¤¤¤À¤í¤¦¤È»×¤¦¤ï¤±¤Ç¤¹¤¬¡¢¡¢¡¢

Ruby¤Ï¤Á¤ç¤Ã¤È½ñ¤±¤ëÄøÅÙ¤ÇËØ¤ÉÁÇ¿ÍÆ±Á³¤Ê¤ó¤Ç¡¢¤¤¤í¤¤¤í½àÈ÷¤¬É¬ÍפǤ¹¡£¤¤¤í¤¤¤í¹Í¤¨¤¿µó¶ç¡¢´Êñ¤½¤¦¤Ê¤ó¤Ç¤³¤ó¤Ê´Ä¶­¤Ç»î¤¹¤³¤È¤Ë¤·¤Þ¤·¤¿¡£

¡¦cygwin¾å¤ÎRuby 1.8.7-p72
¡¦rubygems¤ò»È¤¦
¡¦http-client2¤ò»È¤¦

¥»¥Ã¥È¥¢¥Ã¥×



Ruby¤ò­¤¹¤È¤³¤Þ¤Ç¤Ï¡¢cygwin¤Î¥Ñ¥Ã¥±¡¼¥¸¤ÇÉáÄ̤ˤä¤Ã¤Æ¡¢

gems¤ò­¤¹¤Ë¤Ï¤³¤Î¥µ¥¤¥È¤«¤érubygems-1.3.5.tgz¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ²òÅष¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£

http://rubyforge.org/frs/?group_id=126»²¾È
% tar xvfz rubygems-1.3.5.tgz
% cd rubygems*
% ruby setup.rb


http-client2¤Ï

http://raa.ruby-lang.org/project/httpclient/2.1.4
% gem install httpclient --source http://dev.ctor.org/download/


°Ê¾å¤Ç¤¹¡£¤¹¤´¤¤¤Ê¤¡¡¢¥»¥Ã¥È¥¢¥Ã¥×¤Ï´Êñ¤Ç¤¹¡£

¤Ç¡¢Àܳ



Null Termination¾ÚÌÀ½ñ¤ÎÀßÄꤵ¤ì¤¿¥Ë¥»¥µ¡¼¥Ð¡¼¤òΩ¤Á¾å¤²¤È¤¤¤Æ¡¢°Ê²¼¤Î¤è¤¦¤ÊRuby¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Þ¤¹¡£¥Æ¥¹¥È¤Ê¤ó¤Ç¡¢¥ë¡¼¥È¤À¤±Äɲ䷤Ȥ«¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó¡£

#!/usr/bin/ruby
require 'rubygems'
require 'httpclient'
URL = 'https://test.ibm.com/' #¥Ë¥»¤Î¥Û¥¹¥È
clnt = HTTPClient.new
clnt.ssl_config.set_trust_ca("00-ECOM-TEST-ROOTCA-SIG.pem")
puts clnt.get_content(URL)


¤Ç¡¢Áá®Àܳ¡£

/usr/lib/ruby/1.8/openssl/ssl.rb:123:in `post_connection_check': hostname was not match with the server certificate (OpenSSL::SSL::SSLError)
¡¡¡¡from /usr/lib/ruby/gems/1.8/gems/httpclient-2.1.5.2/lib/httpclient/session.rb:260:in `post_connection_check'


¤È¥¨¥é¡¼É½¼¨¤µ¤ì

test.ibm.com
¤È
Subject: C=JP, O=Evil2, CN=test.ibm.com\x00.evil.jp
¤È¤Ï°ìÃפ·¤Ê¤¤


¤È¡¢Àµ¤·¤¯¥¨¥é¡¼¤È¤Ê¤ê¤Þ¤·¤¿¡£¤µ¤¹¤¬¡¢nahi¤µ¤ó¤Îhttp-client2¤Ï´Êñ¤À¤·¡¢¤Á¤ã¤ó¤È¤·¤Æ¤Þ¤¹¤Í¤§¡£¤Á¤ç¤Ã¤ÈRuby¤Ë²þ½¡¤·¤¿¤¯¤Ê¤Ã¤Á¤ã¤¤¤Þ¤¹¤Í¤§(¾Ð)

gotoyuzo¤µ¤ó¡¢nahi¤µ¤ó¡¢¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡££í¡Ê¡²¡¡¡²¡Ë£í

º£Æü¤Î¤Ä¤Ö¤ä¤­


httpclient´Êñ¤Ë¤Ä¤«¤¨¤Æ¤«¤Ê¤êÎɤ¤¤ó¤Ç¤¹¤¬¡¢set_trust_ca¤È¤«¾ÚÌÀ½ñÆÉ¤ß¹þ¤à»þ¡¢DER¤Ç¤âPEM¤Ç¤âÆÉ¤á¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤ë¤È¡¢À¨¤¯¥¦¥ì¥·¥¤¤Ê¤¡¤È»×¤¤¤Þ¤·¤¿¡£¤¢¤È¡¢ÊÌ·ï¤Çsqlite3-ruby¤òÆþ¤ì¤¿¤¤¤ó¤Ç¤¹¤¬¡¢cygwin¾å¤Ç¤«¤Ê¤ê¤Æ¤³¤º¤Ã¤Æ¤Þ¤¹(µã)¡£¤³¤ÎÆó¤Ä¤¬²ò·è¤¹¤ì¤Ð¥à¥Õ¥Õ¥×¥í¥¸¥§¥¯¥È¤ÎPerl¤Î¤ä¤Ä¤òRuby¤Ë°Ü¤¹¤«¤Ê¤¡¤È»×¤Ã¤Æ¤¤¤ë¤ó¤Ç¤¹¤¬¡¢¤Ï¤Æ¤µ¤Æ¡¢¤É¤¦¤Ê¤ë¤³¤È¤ä¤é¡¢¡¢¡¢








OpenSSL¥Ù¡¼¥¹¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹AS2 EDI

sourceforge.com: AS2 e-commerce RFC-4130
This piece of code uses Perl and qx// calls to OpenSSL and to other small Perl scripts, to follow the RFC-4130. At the time this project was opened, the product works ok when receiving messages. Read the README file inside the tar.gz for details


ÅŻҾ¦¼è°ú¤Ã¤Æ¤¤¤¦¸ÀÍդϤʤ󤫸Ž­¤¯¤Æ¥¢¥ì¤Ç¤¹¤¬¡¢¤¤¤í¤ó¤Ê»ÅÁȤߤ¬¤Ç¤­¤Æ¤Ï¾Ã¤¨¤¿¤ê¤·¤Æ¤¤¤Þ¤¹¡£¸½ºß¤Î¤È¤³¤í¥á¥¸¥ã¡¼¤Ë¸«¤¨¤ë¤Î¤Ï¡¢

¡¦¥¦¥§¥ÖEDI - ¥¦¥§¥Ö¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¤·¤Æ¼ÂÁõ¤µ¤ì¤¿EDI(¥»¥­¥å¥ê¥Æ¥£¤¬¼å¤¤¡©)
¡¦AS2 (RFC 4130) - IETF¤ÇÄê¤á¤é¤ìÊÆ¹ñ¤Ç¤Ï¥á¥¸¥ã¡¼¤Ë¤Ê¤ê¤Ä¤Ä¤¢¤ëEDI
¡¦OASIS ebXML - XML¥Ù¡¼¥¹¤ÎEDI (²¤½£¤ÎÃæ·ø¤Î¹ñ¤Ç´èÄ¥¤Ã¤Æ¤¤¤ë¤¬¡¢¡¢¡¢)
¡¦UN/EDIFACT - ¤³¤ÎÃæ¤Ç¤Ï³ä¤ÈÎò»Ë¤â¼ÂÁõ¤â¤¢¤ëEDI (»ÅÁȤߤ¬¸Å¤¤¤«¤â)

¤½¤ó¤ÊÃæ¡¢sourceforge¾å¤Ç¡¢OpenSSL¤ÈPerl¥Ù¡¼¥¹¤ÎRFC 4130 AS2¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹¼ÂÁõ¤Î¥×¥í¥¸¥§¥¯¥Èas2openssl(AS2 e-commerce RFC 4130¤¬¹Ô¤ï¤ì¤Æ¡¢OpenSSL¤ÎML¤Ç¥Æ¥¹¥¿¡¼/ɾ²Á¤ò¤·¤Æ¤¯¤ì¤ë¿Í¤òÊ罸¤·¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£

ISO TC154Áí²ñ¤Ë¹Ô¤Ã¤¿ºÝ¡¢CAdES/XAdES¤ÏOASIS ebXML¡¢UN/EDIFACT¤Ë¤ÏŬÍѤǤ­¤½¤¦¤À¤È¤¤¤¦ÏÃ¤ÏÆüËÜ(JISC)¤«¤é¤·¤Æ¤­¤¿¤ó¤Ç¤¹¤¬¡¢AS2¤Ë¤Ä¤¤¤Æ¤â¥á¥Ã¥»¡¼¥¸¤Î¤ä¤ê¤È¤ê¤ÏMIME¥Ù¡¼¥¹¤é¤·¤¤¤Î¤Ç¡¢S/MIME¤Ë¤·¤Æ¤·¤Þ¤¨¤ÐCAdES¤ÇÂбþ¤Ç¤­¤ë¤Î¤«¤Ê¤¡¡¢¡¢¡¢¤È»×¤Ã¤Æ¤ª¤ê¡¢TC154µÄĹ¤Ë¤â¡¢¤½¤¦ÀâÌÀ¤·¤Þ¤·¤¿¡£

OpenSSL¤Ç°À­¾ÚÌÀ½ñ

ITU X.509/RFC 3281 Attribute Certificate Toolkit for OpenSSL
ITU X.509/RFC 3281 Attribute Certificate Toolkit for OpenSSL


OpenSSL¤Ç¤Ï¡¢É¸½à¤Ç¤ÏX.509V2°À­¾ÚÌÀ½ñ¤ò°·¤¨¤Ê¤¤¤ó¤Ç¤¹¤¬¡¢¤Á¤ç¤Ã¤È¥°¥°¤Ã¤Æ¤ß¤¿¤È¤³¤í¥¹¥Ú¥¤¥ó¤Î¥«¥ë¥í¥¹IIIÀ¤Âç³Ø¤ËITU X.509/RFC 3281 Attribute Certificate Toolkit for OpenSSL¤È¤¤¤¦OpenSSL¤ò»È¤Ã¤¿Â°À­¾ÚÌÀ½ñ´ØÏ¢¤Î¥é¥¤¥Ö¥é¥ê¤¬¤¢¤ë¤ß¤¿¤¤¤Ç¡¢¥é¥¤¥»¥ó¥¹¤âOpenSSL¤ÈƱ¤¸¤Ê¤ó¤Ç¡¢¤Á¤ç¤Ã¤È»î¤·¤Æ¤ß¤Þ¤·¤¿¡£

¤È¤ê¤¢¤¨¤º 0.2 beta for Windows¤ò»î¤¹



0.1¥Ù¡¼¥¿ÈǤÏLinux¤ÈWindowsÍѤ¬¤¢¤ë¤ó¤Ç¤¹¤¬¡¢0.2¥Ù¡¼¥¿ÈǤÏWindowsÈǤΤߤǤ¹¡£0.2¤Ï¥É¥­¥å¥á¥ó¥È¤¬Ì¤À°È÷¤é¤·¤¤¤ó¤Ç¤¹¤¬¡¢¤³¤Ã¤Á¤Ç¹Ô¤¯¤³¤È¤Ë¤·¤Þ¤·¤¿¡£

Microsoft Visual C++ 2008 Express ¤òÆþ¤ì¤Æ(MS SQL¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¤¬Ìµ»ë¤·¤Æ¡Ê¡°¡°¡¨)¡¢AC Toolkit¤Î¥×¥í¥¸¥§¥¯¥È¤ò³«¤¤¤Æ¤ß¤Þ¤¹¡£Visual Studio 2005ÍѤǤ·¤¿¤¬ÆÃ¤ËÌäÂê¤Ê¤¯¼«Æ°ÊÑ´¹¤Ç¤­¤¿¤è¤¦¤Ç¤¹¡£

CryptoAPIÂбþ¤ÎWindowsÈÇOpenSSL 0.9.8k¤ò夤¤¿¤Î¤Ç¡¢¤³¤ì¤ò»È¤¦¤³¤È¤Ë¤·¤Þ¤¹¡£

¥×¥í¥¸¥§¥¯¥È¤Î¥×¥í¥Ñ¥Æ¥£¤Ç¥¤¥ó¥¯¥ë¡¼¥É¤È¥é¥¤¥Ö¥é¥ê¤Î¾ì½ê¤òOpenSSL¤Ë¤¢¤ë¤ä¤Ä¤ËÀßÄꤹ¤ì¤Ð¡¢2¤Ä¤Î¥×¥í¥¸¥§¥¯¥È"x509ac"¤È"x509actest"¤Ï¤Þ¤¡Â礭¤ÊÌäÂê¤Ê¤¯¥Ó¥ë¥É¤Ç¤­¤Þ¤·¤¿¡£°ìÅÀ¡¢¥Ó¥ë¥É¸å¤ËÀ¸À®¤µ¤ì¤¿¥é¥¤¥Ö¥é¥ê¤ò¥³¥Ô¡¼¤·¤è¤¦¤È¤¹¤ë¤ó¤Ç¤¹¤¬¡¢¤½¤³¤Ç¥¨¥é¡¼¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¥Ñ¥¹¤ÏÊѹ¹¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£

"x509actest"¤òư¤«¤·¤Æ¤ß¤è¤¦¤È¤¹¤ë¤È¡¢¥¨¥é¡¼¤¬½Ð¤¿¤ó¤Ç¤¹¤¬¡¢

OPENSSL_Uplink(00639010,05): no OPENSSL_Applink


²ò·èÊýË¡¤¬¤³¤Á¤é¤Ë¤¢¤Ã¤¿¤Î¤Ç»²¹Í¤Ë¤µ¤»¤ÆÄº¤­"test.cpp"¤Ë°Ê²¼¤òÄɲ乤ì¤Ð̵»öư¤¯¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£

#include <openssl/applink.c>
#pragma comment(lib, "libeay32.lib")
#pragma comment(lib, "ssleay32.lib")


¥Æ¥¹¥È¥×¥í¥°¥é¥à¤òư¤«¤·¤Æ¤ß¤ë¤Ë¡¢³Î¤«¤ËV2°À­¾ÚÌÀ½ñ¤¬È¯¹Ô¤Ç¤­¤Æ¤¤¤ëÌÏÍÍ¡¢¡¢¡¢¡¢

»þ¹ï´Æºº¾Ú(TAC)¤ÏÆÉ¤á¤ë¡©



Thales(µìnCipher)À½¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¥µ¡¼¥Ð¡¼¤Ç¤ÏV2°À­¾ÚÌÀ½ñ¤Ç¤¢¤ë¤è¤¦¤Ê»þ¹ï´Æºº¾Ú¤È¤¤¤¦¤Î¤¬¥¿¥¤¥à¥¹¥¿¥ó¥×¥È¡¼¥¯¥ó¤Ë¤Ä¤¤¤Æ¤¯¤ë¤ó¤Ç¤¹¤¬¡¢¤³¤ì¤ò¤³¤Î¥Ä¡¼¥ë¥­¥Ã¥È¤Ç¸«¤é¤ì¤Ê¤¤¤«¤Ê¡¢¡¢¡¢¡¢¤È¤¤¤í¤¤¤í»î¤·¤Æ¤ß¤¿¤ó¤Ç¤¹¤¬¡¢Ì¤ÃΤΰÀ­¤Ç¤¢¤ë¤¿¤áÍî¤Á¤Á¤ã¤¦¤È¤¤¤¦¡¢¤Ä¤ì¤Ê¤¤¾õÂÖ¡¢¡¢¡¢¡¢

·ë¹½´èÄ¥¤Ã¤Æ¤ß¤¿¤ê¡¢¤³¤Î¥Ä¡¼¥ë¥­¥Ã¥È¤Î¥µ¥ó¥×¥ë¤È¤«¤¤¤¸¤Ã¤Æ¤ß¤¿¤ó¤Ç¤¹¤¬¡¢·ë¶É¤³¤Î¥Ä¡¼¥ë¥­¥Ã¥È¼«ÂΤò¤¤¤¸¤é¤Ê¤¤¤È̵Íý¤½¤¦¤Ê¤Î¤Ç¡¢¤È¤ê¤¢¤¨¤º¤³¤ì¤ÇÃÇǰ¡¢¡¢¡¢¡¢¡¢

»þ´Ö¤¬¤¢¤ë¤È¤­¡¢¤Þ¤¿Í·¤ó¤Ç¤ß¤¿¤¤¤È»×¤¤¤Þ¤¹¡£

¤½¤¦¤¤¤¨¤Ðº£Æü¤Ï¡¢TBF¥Õ¥©¡¼¥é¥à¤Ç¤¹¤¬¤Á¤ç¤Ã¤È¹Ô¤«¤ì¤½¤¦¤Ë¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£RSA BSAFE¤Î¤³¤È¤Ï¤Á¤ç¤Ã¤Èµ­»ö¤ò½ñ¤¤¤Æ¤ß¤¿¤¤µ¤¤â¤¹¤ë¤ó¤Ç¤¹¤¬¡¢¥é¥¤¥»¥ó¥¹·ÀÌó¤ò¤Á¤ã¤ó¤ÈÇİ®¤·¤Æ¤¤¤Ê¤¤¾õÂ֤ǤϤÁ¤ç¤Ã¤È½ñ¤­¤Å¤é¤¤¡¢¡¢¡¢¡¢¡Ê£Ô¡²£Ô¡Ë
ºÇ¿·µ­»ö
Categories
Archives
Twitter
µ­»öGoogle¸¡º÷

ËÜ¥Ö¥í¥°Æâ¤òGoogle¸¡º÷
Yahoo!¥¢¥¯¥»¥¹²òÀÏ
Travel Advisor
µ­»ö¸¡º÷
QR¥³¡¼¥É
QR¥³¡¼¥É
  • ¥é¥¤¥Ö¥É¥¢¥Ö¥í¥°