この質問に対する直接的かつ明確な答えを求めて、グーグルのいたるところを見回しましたが、どこにも行きませんでした。ここでは、単純明快な「はい」か「いいえ」が素晴らしいでしょう...
SOAPメッセージヘッダー内のデータに署名するために使用する「AES-256対称(「セッション」とも呼ばれる)キー」(暗号化ではなくキーのみ)を作成するように求められました。要件は、キーの「サイズ」が 256 であることです...はい、わかっています...
MCRYPT_RIJNDAEL_128 サイズ 32 は、実際には PHP の AES-256 暗号であることを知っています。私はそれをすべて読みました。
私は、彼らのために働くJavaでの実装を持っていると私に尋ねている人々を知っています。私はphpで作業する必要があります。私は次のコードを持っています: `
$keysize = mcrypt_module_get_algo_key_size(MCRYPT_RIJNDAEL_128);
$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '',MCRYPT_MODE_CBC, '');
$keysize = 32;
while (strlen($key) < $keysize) $key = mcrypt_create_iv(mcrypt_enc_get_iv_size ($td),MCRYPT_RAND);
これにより、生の「キー」が得られます。
質問: SOAP セキュリティ ヘッダーに署名するために使用できる「AES-256 セッション/対称キー」の上の生のキーはありますか?
生のキーが署名に使用された後、公開証明書のキーを使用して暗号化され (rsa-oaep-mgf1p を使用)、ヘッダーに埋め込まれます (EncryptedKey タグ)。反対側で復号化し、署名済みヘッダーのダイジェストを検証するために使用する必要があります...そしてガンダルフが現れます...
反対側から(Javaを使用して)「対称キーの生成方法に問題がある」と言われましたが、何が問題なのか、その間違いを正す方法について明確な説明がなかったので、私は尋ねています。
誰でも助けることができますか?私はそれを感謝します...
ありがとう。