keytool : sign by keytool’s private key / M2Crypto verify

goto J2SE 5.0 Update Now Available!

http://java.sun.com/javase/downloads/index_jdk5.jsp

 

image

この画面で "Linux self-extracting file "のURLコピーして、Debianでwget。ほかの方法もあるのかも。

image

E-mobileだとおそいです。。。。。。。

-rw-r–r– 1 hide hide 49647629 2008-02-13 02:41 jdk-1_5_0_15-linux-i586.bin?AuthParam=1212467169_7a9a878a652731d98aae16be8b13b278&TicketId=nodzAlEZQXVwkOMsnEOdUJ6acQ==&GroupName=CDS&FilePath=%2FESD39%2FJSCDL%2Fjdk%2F5.0_15%2Fjdk-1_5_0_15-linux-i586.bin&File=jdk-1_5_0_15-linux-i586.bin

hide@deb1:~/java/key$ mv jdk-1_5_0_15-linux-i586.bin\?AuthParam\=1212467169_7a9a878a652731d98aae16be8b13b278\&TicketId\=nodzAlEZQXVwkOMsnEOdUJ6acQ\=\=\&GroupName\=CDS\&FilePath\=%2FESD39%2FJSCDL%2Fjdk%2F5.0_15%2Fjdk-1_5_0_15-linux-i586.bin\&File\=jdk-1_5_0_15-linux-i586.bin jdk-1_5_0_15-linux-i586.bin

hide@deb1:~/java/key$ chmod +x jdk-1_5_0_15-linux-i586.bin

hide@deb1:~/java/key$ ./jdk-1_5_0_15-linux-i586.bin

Do you agree to the above license terms? [yes or no]
yes

Unpacking…

          :

          :

Creating jdk1.5.0_15/lib/tools.jar
Creating jdk1.5.0_15/jre/lib/rt.jar
Creating jdk1.5.0_15/jre/lib/jsse.jar
Creating jdk1.5.0_15/jre/lib/charsets.jar
Creating jdk1.5.0_15/jre/lib/ext/localedata.jar
Creating jdk1.5.0_15/jre/lib/plugin.jar
Creating jdk1.5.0_15/jre/lib/javaws.jar
Creating jdk1.5.0_15/jre/lib/deploy.jar

Done.

hide@deb1:~/java/key$ ls -al
合計 48576

drwxr-xr-x 9 hide hide     4096 2008-02-09 19:46 jdk1.5.0_15

hide@deb1:~/java/key$ sudo mv jdk1.5.0_15 /usr/local/

hide@deb1:~/java/key$ export CLASSPATH=/usr/local/jdk1.5.0_15/lib/

hide@deb1:~/java/key$ export PATH="/usr/local/jdk1.5.0_15/bin:$PATH"

ここから本題

hide@deb1:~/java/kt/test$ keytool -genkey -alias hdknr -keystore hdknr.jks -keyalg RSA -keypass hidelafoglia -storepass hidelafoglia -dname "CN=hdknr.com, OU=hdknr.com, O=hdknr, L=Tokyo, S=Tokyo, C=JP"

hide@deb1:~/java/kt/test$ keytool -export -keystore hdknr.jks -alias hdknr -file hdknr.cer -keypass hidelafoglia -storepass hidelafoglia
証明書がファイル <hdknr.cer> に保存されました。

hide@deb1:~/java/kt/test$ openssl x509 -pubkey -inform DER -in hdknr.cer  -out hdknr.cert.pem > pub.pem

hide@deb1:~/java/kt/test$ more hdknr.cert.pem
—–BEGIN CERTIFICATE—–
MIICPDCCAaUCBEhD5uUwDQYJKoZIhvcNAQEEBQAwZTELMAkGA1UEBhMCSlAxDjAM
BgNVBAgTBVRva3lvMQ4wDAYDVQQHEwVUb2t5bzEOMAwGA1UEChMFaGRrbnIxEjAQ
BgNVBAsTCWhka25yLmNvbTESMBAGA1UEAxMJaGRrbnIuY29tMB4XDTA4MDYwMjEy
MjYxM1oXDTA4MDgzMTEyMjYxM1owZTELMAkGA1UEBhMCSlAxDjAMBgNVBAgTBVRv
a3lvMQ4wDAYDVQQHEwVUb2t5bzEOMAwGA1UEChMFaGRrbnIxEjAQBgNVBAsTCWhk
a25yLmNvbTESMBAGA1UEAxMJaGRrbnIuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GN
ADCBiQKBgQCaTB5sY3L7rV0eo+t0ISQEWoCSrRdQryXaVmgT8CQxMpPson7l50hy
xbmSyO0vuuZWKEfCdyC9AO8pMDUSEW05Lgm32MDW1cXjK6du9VkmqS+/qplg4534
6zuHb/CiJ4F+Hj3wQYHWCQHdV27kitXVly9uGcUhkRIRh+AU9HvPpwIDAQABMA0G
CSqGSIb3DQEBBAUAA4GBAI7QGjcXZ8jnu08xipOXNraWcCjdzA92QwmvkL7r1C5V
cq6f/IhRlwJ5zJKe/ZwUkxcILzsTZXFWdTYSkjutYVDJwAwGqQU9TDR8iXYK9o+j
pToFq6e7Zoe0K5C9DRKfPist40XXOxzGJKqpacMbeCS1Er9A7C85RGqccGbSBuEd
—–END CERTIFICATE—–

hide@deb1:~/java/kt/test$ more pub.pem
—–BEGIN PUBLIC KEY—–
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCaTB5sY3L7rV0eo+t0ISQEWoCS
rRdQryXaVmgT8CQxMpPson7l50hyxbmSyO0vuuZWKEfCdyC9AO8pMDUSEW05Lgm3
2MDW1cXjK6du9VkmqS+/qplg45346zuHb/CiJ4F+Hj3wQYHWCQHdV27kitXVly9u
GcUhkRIRh+AU9HvPpwIDAQAB
—–END PUBLIC KEY—–

 

hide@deb1:~/java/kt/test$ java -classpath .:commons-codec-1.3.jar Signer hdknr.jks hidelafoglia hdknr hidelafoglia OhMyGod
plain :OhMyGod
signed:l3oSFO+io+5zEbMxNFhdBdZOi8HbhyZ5HesF9DMixWQMbNQLp5Kc7EIYRkABWIT1FaEIvUs0X703OFcKVbwqPaTpEpTy060uo0bFzdvtCfO0rgWU9iz2P6L8D5U60/lttzDJXvvnUowx4HET0u6WZN1TILs4Tz6Z/1BE6ifBbOM=

 

hide@deb1:~/java/kt/test$ python
Python 2.4.4 (#2, Apr 15 2008, 23:43:20)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sha
>>> from M2Crypto import RSA
>>> text="OhMyGod"
>>> dig = sha.new(text).digest()
>>> pub=RSA.load_pub_key("pub.pem")
>>> ht="l3oSFO+io+5zEbMxNFhdBdZOi8HbhyZ5HesF9DMixWQMbNQLp5Kc7EIYRkABWIT1FaEIvUs0X703OFcKVbwqPaTpEpTy060uo0bFzdvtCfO0rgWU9iz2P6L8D5U60/lttzDJXvvnUowx4HET0u6WZN1TILs4Tz6Z/1BE6ifBbOM="
>>> import base64
>>> pub.verify(dig,base64.b64decode(ht))
1
カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中