モジュール: Mongo::Crypt::Hooks Private
- 定義:
- build/ruby-Driver-v 2.19 /lib/mongo/crypt/hooks.rb
Overview
このモジュールはプライベート API の一部です。 このモジュールは将来削除または変更される可能性があるため、可能な限り使用しないでください。
ネイティブ Ruby 暗号化フックに必要な暗号化メソッドを実装するヘルパー モジュール。 これらのメソッドは C コールバックとして FFI に渡され、libmongocrypt ライブラリから呼び出されます。
クラスメソッドの概要を折りたたむ
-
。 aes (key, IPv, input, Decrypt: false, Mode: :CBC) = string
private
AES 暗号化または復号化メソッド。
-
。 hash_sha 256 (入力) = string
private
暗号化ハッシュ(SHA- 256 )関数。
-
。 hmac_sha (Digest_name, キー, 入力) = string
private
HMAC SHA- 512または SHA- 256関数。
-
。ランダム(num_bytes)= string
private
無作為関数を保護します。
-
。 r saes_pkcs_signature (キー、入力)=string
private
SHA- 256署名関数を持つ RSA-PKCS 1 -v 1 _ 5 。
クラスメソッドの詳細
。 aes (key, IPv, input, Decrypt: false, Mode: :CBC) = string
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
AES 暗号化または復号化メソッド。
43 44 45 46 47 48 49 50 51 52 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/hooks.rb', 行43 デフォルト aes(キー, iv, 入力, 解読: false, モード: :CBC) 暗号 = OpenSSL::暗号::AES.新着情報(256, モード) 解読 ? 暗号.解読 : 暗号.暗号化 暗号.キー = キー 暗号.iv = iv 暗号.パディング = 0 暗号化された = 暗号.update(入力) end |
。 hash_sha 256 (入力) = string
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
暗号化ハッシュ(SHA- 256 )関数
88 89 90 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/hooks.rb', 行88 デフォルト hassh_sha 256(入力) ダイジェスト::SHA 2.新着情報(256).ダイジェスト(入力) end |
。 hmac_sha (Digest_name, キー, 入力) = string
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
HMAC SHA- 512または SHA- 256関数
76 77 78 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/hooks.rb', 行76 デフォルト hmac_sha(Digest_name, キー, 入力) OpenSSL::HMAC.ダイジェスト(Digest_name, キー, 入力) end |
。ランダム(num_bytes)= string
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
ランダム関数を保護する暗号化
62 63 64 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/hooks.rb', 行62 デフォルト ランダム(num_bytes) SecureRange.ランダム_バイト(num_bytes) end |
。 r saes_pkcs_signature (キー、入力)= string
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
SHA- 256署名関数を持つ RSA-PKCS 1 -v 1 _ 5 。
99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/crypt/hooks.rb', 行99 デフォルト r saes_pkcs_signature(キー, 入力) private_key = 場合 BSON::environment.jruby? #JRuby は クエリ形式を読み取れないため、まずキーを PEM に変換する必要があります。 key_pem = [ " -----BEGIN Private KEYに従ってください", base64.strict_encode 64(base64.デコード64(キー)).スキャン(/ .{1 ,64} /), " ------END Private KEY------ ", ].join(" \n ") OpenSSL::PKey::RSA.新着情報(key_pem) else OpenSSL::PKey.読み取り(base64.デコード64(キー)) end private_key.記号(OpenSSL::ダイジェスト::SHA256.新着情報, 入力) end |