Module: Robocap::SDK::Config
- Defined in:
- lib/robocap/sdk/config.rb
Constant Summary collapse
- VAULT_KEYS_DIR =
'vault/keys'- VAULT_FILES_DIR =
'vault/files'- RSA_BITS =
4096- RSA_BITS_ALLOWED =
[2048, 4096].freeze
- RSA_PUBLIC_EXPONENT =
65_537- RSA_PADDING_SCHEME =
'OAEP_SHA256'- RSA_OAEP_HASH =
'sha256'- RSA_OAEP_MGF_HASH =
'sha256'- RSA_OAEP_LABEL =
nil- RSA_CIPHERTEXT_BYTES =
512- RSA_2048_CIPHERTEXT_BYTES =
256- CEK_BYTES =
16- AES_KEY_BYTES =
32- AES_NONCE_BYTES =
12- AES_TAG_BYTES =
16- K2_MAGIC =
"RCK2".b.freeze
- K2_FORMAT_VERSION =
1- K2_HEADER_BYTES =
9- K2_BLOB_MIN_BYTES =
K2_HEADER_BYTES + RSA_CIPHERTEXT_BYTES
- META_FORMAT_VERSION =
1- DEFAULT_AES_BACKEND =
'cryptography'- AES_BACKEND_OPENSSL =
'openssl_cli'- OPENSSL_ENV_VAR =
'ROBOCAP_OPENSSL'- FFMPEG_ENV_VAR =
'ROBOCAP_FFMPEG'- FFPROBE_ENV_VAR =
'ROBOCAP_FFPROBE'- MASTER_KEY_FILENAME =
'.master_key'- DEVICE_AES_FILENAME =
'device_aes.enc.pem'- CUSTOMER_ID_PATTERN =
/\A[A-Za-z0-9_\-]+\z/
Class Method Summary collapse
- .default_sdk_root ⇒ Object
- .files_vault_root(sdk_root) ⇒ Object
- .keys_vault_root(sdk_root) ⇒ Object
- .validate_customer_id!(customer_id) ⇒ Object
Class Method Details
.default_sdk_root ⇒ Object
45 46 47 48 |
# File 'lib/robocap/sdk/config.rb', line 45 def default_sdk_root path = ENV['ROBOCAP_SDK_ROOT'] path && !path.empty? ? Pathname(path) : Pathname(Dir.home).join('.robocap-sdk') end |
.files_vault_root(sdk_root) ⇒ Object
62 63 64 |
# File 'lib/robocap/sdk/config.rb', line 62 def files_vault_root(sdk_root) Pathname(sdk_root).join(VAULT_FILES_DIR) end |
.keys_vault_root(sdk_root) ⇒ Object
58 59 60 |
# File 'lib/robocap/sdk/config.rb', line 58 def keys_vault_root(sdk_root) Pathname(sdk_root).join(VAULT_KEYS_DIR) end |
.validate_customer_id!(customer_id) ⇒ Object
50 51 52 53 54 55 56 |
# File 'lib/robocap/sdk/config.rb', line 50 def validate_customer_id!(customer_id) unless customer_id.is_a?(String) && customer_id.match?(CUSTOMER_ID_PATTERN) raise ArgumentError, "Invalid customer_id: #{customer_id.inspect} " \ '(allowed: alphanumeric, underscore, hyphen)' end end |