545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
|
# File 'lib/rbthemis.rb', line 545
def gen_sym_key
key_length = FFI::MemoryPointer.new(:uint)
res = themis_gen_sym_key(nil, key_length)
if res != BUFFER_TOO_SMALL
raise ThemisError, "failed to get symmetric key size: #{res}"
end
key = FFI::MemoryPointer.new(:char, key_length.read_uint)
res = themis_gen_sym_key(key, key_length)
if res != SUCCESS
raise ThemisError, "failed to generate symmetric key: #{res}"
end
return key.get_bytes(0, key_length.read_uint)
end
|