Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
メモ: この機能はウェブワーカー内で利用可能です。
ウェブ暗号化 API (Web Crypto API) は、暗号化を使用してシステムを構築するためにスクリプトが暗号化プリミティブを使用することを可能にするインターフェイスです。
一部のブラウザーでは、Crypto というインターフェイスが明確に定義されておらず、暗号化されていなくても実装されていました。混乱を避けるために、このインターフェイスのメソッドとプロパティはウェブ暗号化 API を実装しているブラウザーから削除され、ウェブ暗号化 API のすべてのメソッドは新しいインターフェイス、つまり SubtleCrypto で利用可能になりました。Crypto.subtle プロパティはそれを実装しているオブジェクトへのアクセスを提供します。
警告: ウェブ暗号化 API は、低レベルの暗号化プリミティブを多数提供しています。それらは非常に使い方を間違えやすく、そして関連する落とし穴は非常に微妙である場合もあります。
基本的な暗号機能を正しく使用していると仮定しても、安全な鍵管理と全体的なセキュリティシステムの設計を正しく理解するのは非常に難しく、一般的にセキュリティ分野のスペシャリストの領域です。
セキュリティシステムの設計と実装に誤りがあると、システムのセキュリティが完全に無効になる可能性があります。
学んで実験することは大切ですが、この分野に精通した専門家があなたの成果物を徹底的にレビューするまでは、そのセキュリティを保証したり、ほのめかしたりしないようにしてください。Crypto 101 コースは、安全なシステムの設計と実装について学ぶための素晴らしい入門先となるでしょう。
暗号学的に強固な乱数ジェネレーターなどの基本的な暗号化機能を提供し、SubtleCrypto オブジェクトを介して暗号プリミティブにアクセスできます。 この型のオブジェクトには、グローバルスコープ内で Window.crypto または WorkerGlobalScope.crypto を使用してアクセスできます。
SubtleCrypto鍵の生成、暗号化、復号、鍵のラッピングおよびアンラッピングといった具合に、低レベルの暗号化機能を提供するオブジェクトを表します。
CryptoKey暗号化鍵を表します。これは、 SubtleCrypto のメソッド generateKey()、 deriveKey()、importKey()、unwrapKey() のいずれかから取得されたものです。
AES-CBC アルゴリズムを使用する場合に、algorithm 引数として SubtleCrypto.encrypt()、SubtleCrypto.decrypt()、 SubtleCrypto.wrapKey()、または SubtleCrypto.unwrapKey() に渡すべきオブジェクトを表します。
AesCtrParamsAES-CTR アルゴリズムを使用する場合に、algorithm 引数として SubtleCrypto.encrypt()、SubtleCrypto.decrypt()、 SubtleCrypto.wrapKey()、または SubtleCrypto.unwrapKey() に渡すべきオブジェクトを表します。
AesGcmParamsAES-GCM アルゴリズムを使用する場合に、algorithm 引数として SubtleCrypto.encrypt()、SubtleCrypto.decrypt()、 SubtleCrypto.wrapKey()、または SubtleCrypto.unwrapKey() に渡すべきオブジェクトを表します。
AesKeyGenParamsAES キーを生成する際、つまりアルゴリズムが AES-CBC、AES-CTR、AES-GCM、AES-KW のいずれかとして指定された場合に、 algorithm 引数としてSubtleCrypto.generateKey() に渡すべきオブジェクトを表します。
CryptoKeyPair非対称暗号アルゴリズムで使用されている公開鍵と秘密鍵のペアを表します。
EcKeyGenParams楕円曲線ベースの鍵ペアを生成する際、つまりアルゴリズムが ECDSA または ECDH のどちらかとして識別される場合に、algorithm 引数として SubtleCrypto.generateKey() に渡すべきオブジェクトを表します。
EcKeyImportParams楕円曲線ベースの鍵ペアを生成する際、つまりアルゴリズムが ECDSA または ECDH のどちらかとして識別される場合に、algorithm 引数として SubtleCrypto.importKey() または SubtleCrypto.unwrapKey() に渡すべきオブジェクトを表します。
EcdhKeyDeriveParamsECDH アルゴリズムを使用する場合、algorithm 引数として SubtleCrypto.deriveKey() に渡すべきオブジェクトを表します。
EcdsaParamsECDSA アルゴリズムを使用する際、algorithm 引数として SubtleCrypto.sign() または SubtleCrypto.verify() に渡すべきオブジェクトを表します。
HkdfParamsHKDF アルゴリズムを使用する場合、algorithm 引数として SubtleCrypto.deriveKey() に渡すべきオブジェクトを表します。
HmacImportParamsHMAC アルゴリズムのキーを生成する際、algorithm 引数として SubtleCrypto.importKey() または SubtleCrypto.unwrapKey() に渡すべきオブジェクトを表します。
HmacKeyGenParamsHMAC アルゴリズム用の鍵を生成する際、algorithm 引数として SubtleCrypto.generateKey() に渡すべきオブジェクトを表します。
Pbkdf2ParamsPBKDF2 アルゴリズムを使用する場合、algorithm 引数として SubtleCrypto.deriveKey() に渡すべきオブジェクトを表します。
RsaHashedImportParamsRSA ベースの鍵ペアをインポートする際、つまりアルゴリズムが RSASSA-PKCS1-v1_5、RSA-PSS、RSA-OAEP のいずれかとして識別される場合に、algorithm 引数として SubtleCrypto.importKey() または SubtleCrypto.unwrapKey() に渡すべきオブジェクトを表します。
RsaHashedKeyGenParamsRSA ベースの鍵ペアを生成する際、つまりアルゴリズムが RSASSA-PKCS1-v1_5、RSA-PSS、RSA-OAEP のいずれかとして識別される場合に、algorithm 引数として SubtleCrypto.generateKey() に渡されるべきオブジェクトを表します。
RsaOaepParamsRSA_OAEP アルゴリズムを使用する場合に、algorithm 引数として SubtleCrypto.encrypt()、SubtleCrypto.decrypt()、SubtleCrypto.wrapKey()、SubtleCrypto.unwrapKey() に渡すべきオブジェクトを表します。
RsaPssParamsRSA-PSS アルゴリズムを使用する場合、algorithm 引数として SubtleCrypto.sign() または SubtleCrypto.verify() に渡すべきオブジェクトを表します。
メインスレッドのスコープ内でグローバルオブジェクトに関連付けられた Crypto オブジェクトを表します。
WorkerGlobalScope.cryptoワーカースコープ内のグローバルオブジェクトに関連付けられた Crypto オブジェクトを表します。
| Web Cryptography Level 2 # crypto-interface |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2026年5月7日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.