240
241
242
243
244
245
246
247
248
249
250
|
# File 'lib/rubythemis.rb', line 240
def Ssign(private_key, message)
private_key_, private_key_length_= string_to_pointer_size(private_key)
message_, message_length_=string_to_pointer_size(message)
wrapped_message_length = FFI::MemoryPointer.new(:uint)
res=themis_secure_message_wrap(private_key_, private_key_length_, nil, 0, message_, message_length_, nil, wrapped_message_length)
raise ThemisError, "themis_secure_message_wrap (length determination) error: #{res}" unless res == BUFFER_TOO_SMALL
wrapped_message = FFI::MemoryPointer.new(:char, wrapped_message_length.read_uint)
res=themis_secure_message_wrap(private_key_, private_key_length_, nil, 0, message_, message_length_, wrapped_message, wrapped_message_length)
raise ThemisError, "themis_secure_message_wrap error: #{res}" unless res == SUCCESS
return wrapped_message.get_bytes(0, wrapped_message_length.read_uint);
end
|