Ensure that Nostr::Crypto#descrypt_text always returns a string

Fixes another Steep/RBS violation
This commit is contained in:
Wilson Silva
2023-11-18 16:38:03 +07:00
parent 3077aa67a7
commit 4b630c678b
2 changed files with 19 additions and 4 deletions

View File

@@ -62,6 +62,10 @@ module Nostr
#
def decrypt_text(recipient_private_key, sender_public_key, encrypted_text)
base64_encoded_text, iv = encrypted_text.split('?iv=')
# Ensure iv and base64_encoded_text are not nil
return '' unless iv && base64_encoded_text
cipher = OpenSSL::Cipher.new(CIPHER_ALGORITHM).decrypt
cipher.iv = Base64.decode64(iv)
cipher.key = compute_shared_key(recipient_private_key, sender_public_key)