トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     as3cryptoで公開鍵で暗号化
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kunitake
Åê¹ÆNo.45292
投稿日時: 2010-7-6 21:26
新米
居住地:
投稿: 4
使用環境:
as3cryptoで公開鍵で暗号化
as3crypto(as3crypto.swc)でRSA公開鍵で暗号化をしたいのですが、以下のソースを実行すると、PEM.readRSAPublicKeyの箇所で、

I DONT KNOW HOW TO HANDLE DER stuff of TYPE 1
Error: Error #2030: End of file was encountered.

のエラーとなってしまいます。

var pem:String = "-----BEGIN PUBLIC KEY-----\n" +
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCesMb0dTk8UnffAVc" +
"kXpRdY2eYg261KW5H2n3tsQ9dog3cCV/GNuBNmzU3ZQNVMDZHnDndnr" +
"XngbinhAoJshsTc8HbcK1aA1YODjTs3sHlnsjgEcVhKxzljaOkG2aPU" +
"z8KHqXuMnoLHOpviNFUvZBwXEQZoglkTNR15K/WTet67wIDAQAB\n" +
"-----END PUBLIC KEY-----\n";
var rsa:RSAKey = PEM.readRSAPublicKey(pem);

何がいけないのでしょうか?

どなたか原因に関する情報、対処方法をお持ちの方がおられましたら、ご教授願います。


as3cryptoにサンプルソース(RSAKeyTest.as)もあり、動かしてみたのですが、readRSAPublicKeyのサンプルもエラーとなってしまいまして・・・。

実行環境は以下となります。
・WindowsXP SP3
・Flex Builder 3

上記で行いたいことは以下となります。

1.Javaで公開鍵、秘密鍵を作成
  上記の公開鍵はJavaのKeyPairGenerator(1024bit)で作成し、Base64した文字列です。
2.1で作成した公開鍵を使用してFlexでデータを暗号化。
3.2の暗号データをJavaで復号(1の秘密鍵で)
961832p
Åê¹ÆNo.45294
投稿日時: 2010-7-7 18:25
常連
居住地: Akiruno-shi
投稿: 155
使用環境:
 
:AS3:
- Adobe Flex SDK, Eclipse, AIR GEAR
- LB.Log AS3, Alcon2

:AS2:
- AMES(ASDT, MTASC, Eclipse, swfmill)
- Natural Entry Point Method
- LB.Log, Zeroi

Pro, Firefox, Chromium(Iron), IE

----------------
Pro,
Re: as3cryptoで公開鍵で暗号化
 
以前、as3crypto に触ったことがあったので、自分も調べてみる事に。

まずは投稿されましたコード中の鍵を使って、自分もas3crypto.swc(バージョン1.3)で試してみると確かに失敗する事が確認できました。
あーだこーだ調べていると、同じような質問をされている方のメーリングリストを発見しました。
 ・[flexcoders] Re: As3Crypto - Can't read RSA Public Key

英語はよく分からないのですが(汗)、おそらく「リポジトリにある最新版を使ったら上手くいった」的な事が書かれている感じだったので、自分も試してみると確かにエラーも出ず、暗号化されたものが返ってきているようです。
 ・Source Checkout - as3crypto - Project Hosting on Google Code

ソースを見ていないので分かりませんが、最新版は何かしらの修正がされているのかもしれないので、一度試されてみてはどうでしょうか?

【今回試したコードの一部分(AS3)】

var text:String = "ほげhogeぴよpiyo";

var pem:String =
    "-----BEGIN PUBLIC KEY-----\n"
  + "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCesMb0dTk8UnffAVc"
  + "kXpRdY2eYg261KW5H2n3tsQ9dog3cCV/GNuBNmzU3ZQNVMDZHnDndnr"
  + "XngbinhAoJshsTc8HbcK1aA1YODjTs3sHlnsjgEcVhKxzljaOkG2aPU"
  + "z8KHqXuMnoLHOpviNFUvZBwXEQZoglkTNR15K/WTet67wIDAQAB\n"
  + "-----END PUBLIC KEY-----\n";
var rsa:RSAKey = PEM.readRSAPublicKey(pem);

//UTF8文字→16進数文字→ByteArrayに変換
var src:ByteArray = Hex.toArray(Hex.fromString(text));
//受け取り用
var dst:ByteArray = new ByteArray;
//暗号化
rsa.encrypt(src, dst, src.length);
//ByteArray→16進数文字に変換して表示
Log.trace(Hex.fromArray(dst));


----------------
:961832p:
- だんだんAS3に慣れてきた“なんちゃって”AMES使いの日曜プログラマー

kunitake
Åê¹ÆNo.45295
投稿日時: 2010-7-8 9:52
新米
居住地:
投稿: 4
使用環境:
Re: as3cryptoで公開鍵で暗号化
961832pさん。こんにちは。

ご返信ありがとうございます!!

早速試してみたいと思います。
kunitake
Åê¹ÆNo.45299
投稿日時: 2010-7-9 11:31
新米
居住地:
投稿: 4
使用環境:
Re: as3cryptoで公開鍵で暗号化
961832pさん。こんにちは。

ご教授いただいた内容で実行したところ、正常に公開鍵で暗号、秘密鍵で復号することができました。

ありがとうございました!!

本当に助かりました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops