問題タブ [webcrypto-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - WebCrypto: Safari は exportKey() を実行できず、promise が解決/失敗しないようです
keyPair を作成してから、Web Crypto API を使用して keyPair からキーをエクスポートしています。
Chrome と Firefox では、コードは正常に動作し、次のように出力されます。
ただし、Safariでは失敗し、印刷のみ:
そして、何もしません。Safari でキーをエクスポートするにはどうすればよいですか?
javascript - crypto.sublte.digest の実装により、同じ長さの文字列に対して同等の 16 進数ハッシュが生成されるのはなぜですか?
次のコードは、これら 2 つのソースから改作されました。
http://qnimate.com/hashing-using-web-cryptography-api/
https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest
Chrome または Firefox コンソールで実行すると、同じ 16 進文字列を使用sha256.digest("this string").then(function (x) { console.log(x) } );して生成します。sha256.digest("that strong").then(function (x) { console.log(x) } );
実際、同じ長さの 2 つの文字列は同じ 16 進数表現になります。
私が読んだことはすべて、2 つの同等のハッシュを持つことはまれであると述べています。つまり、ここで何か間違ったことをしているということです。それが何なのか、私にはわかりません。
javascript - SubtleCrypto 使用時のメッセージのない OperationError のトラブルシューティング
SubtleCrypto.unwrapkey を使用してキーのラップを解除しようとしています... 私のラップ解除アルゴリズムは次のとおりです。
私の unwrappedKeyAlgo は次のとおりです。
私の呼び出しは次のようになります。
私はいくつかの異なることを試みてきましたが、ほとんどの場合、メッセージなしで OperationError を取得しています (つまり、error.message は '') が、最後に取得し始めました:
私が見る限り、192 ビット キーは見えません。
メッセージのない OperationError の両方のケース (実際にはそれほど多くはありません) および/または後者の両方をデバッグ/トラブルシューティングする方法についてのヒントはありますか? 同様のテーマに関する質問の場所 (スタック オーバーフロー以外) はどこですか?
javascript - ie11 での RSA-OEP 暗号化
IE11 で RSA-OAEP 暗号化の例を見つけることができませんでした。
これは私の実装のスニペットです。非常にあいまいなエラーが表示されます。
アルゴリズムを RSAES-PKCS1-v1_5 に変更すると、すべて問題なく動作します
encryption - Microsoft Edge での公開キー暗号化
Web Cryptography API を使用して公開鍵暗号化を実装するための次の JavaScript コードがあります。Firefox と Chrome では機能しますが、Microsoft Edge では失敗します。Edge から表示されるエラーは、「エラー 80700011 のため操作を完了できませんでした」です。私は何を逃したのですか?
internet-explorer - Internet Explorer 11 での公開キー暗号化
次のコードで IE11 の JavaScript を使用して公開鍵暗号化を実装しようとしています。
キー ペアを生成しますが、エラー イベントで暗号化に失敗します。対称 AES キーを使用した同様のコードが機能します。公開鍵暗号化は IE11 でサポートされていますか? 私のコードに何か問題がありますか?
javascript - プレーンな JavaScript で PDF に署名する
WebCrypto API が進化し、Chrome と Firefox でサポートされるようになったので、PDF ドキュメントのデジタル署名に使用したいと考えています。文献はあまりありませんが、いくつかの例 [1] と PKI.js というライブラリ [2] を見つけました。例では、署名プロセスが説明されていますが、最終的には署名が返されます。Base64 PDF ファイルが署名された Base64 文字列で再び返されることを期待していますが、残念ながら、これは起こりません。私の知る限り、PKI.js も Base64 PDF に署名する方法を提供していません。
JavaScript と WebCrypto API だけで PDF に署名する方法はありますか? 秘密鍵は<textarea>、ブラウザの証明書設定に入力するか、さらには保存することができます。
Base64 PDF (REST API から) → JS と証明書で署名 → 署名された Base64 PDF (REST に送信)
mobile-safari - iOS9 モバイル Safari での WebCrypto キーのインポート
このエラーはモバイル Safari で何を意味しますか?
ArrayBuffer および ArrayBufferView オブジェクトのみを CryptoOperationData として渡すことができます
問題のあるコードは次のとおりです。
であるため、 のインスタンスである必要があることにkey注意してください。new Uint8Array([251, 23, 127, ... ])key.bufferArrayBuffer
iOSは私に何を求めているの!?!?
アップデート
誤警報。モバイル Safari がありません。別のTypedArray.prototype.slice場所で でポリフィルされてArray.prototype.sliceいたため、オブジェクトがバッファではありませんでした。