R
Robert
Hi! I'm having some issues with the OpenSSL library:
I'm trying to rescue whatever errors the library wants to throw,
however, it's not working:
def encrypt
require 'openssl'
begin
aes = OpenSSL::Cipher::Cipher.new('AES-128-CBC')
aes.encrypt('SOME_KEY')
cipher = aes.update(password)
cipher << aes.final
return cipher
rescue
return false
end
end
Now I go into irb:
require 'encrypt'
encrypt('test') # -> gives encrypted output
encrypt('') # -> gives error "evp_enc.c(332): OpenSSL internal error,
assertion failed: inl > 0 \n Abort trap"
Seems like I can't rescue that because the error comes from a C
library. Is that right?
Are there any solutions to this, except, for example, checking that
"not password.empty?" ?
Thanks, Rob
I'm trying to rescue whatever errors the library wants to throw,
however, it's not working:
def encrypt
require 'openssl'
begin
aes = OpenSSL::Cipher::Cipher.new('AES-128-CBC')
aes.encrypt('SOME_KEY')
cipher = aes.update(password)
cipher << aes.final
return cipher
rescue
return false
end
end
Now I go into irb:
require 'encrypt'
encrypt('test') # -> gives encrypted output
encrypt('') # -> gives error "evp_enc.c(332): OpenSSL internal error,
assertion failed: inl > 0 \n Abort trap"
Seems like I can't rescue that because the error comes from a C
library. Is that right?
Are there any solutions to this, except, for example, checking that
"not password.empty?" ?
Thanks, Rob