Class: Cryptopro::Signature

Inherits:
Base
  • Object
show all
Defined in:
lib/cryptopro/signature.rb

Constant Summary collapse

MESSAGE_FILE_NAME =
"message.txt"
SIGNATURE_FILE_NAME =

Должен называться как файл с сообщением, только расширение .sgn

"message.txt.sgn"

Constants inherited from Base

Base::CERTIFICATE_FILE_NAME, Base::CERTIFICATE_LINE_LENGTH

Class Method Summary collapse

Methods inherited from Base

add_container_to_certificate, create_temp_certificate_file, create_temp_dir, create_temp_file

Class Method Details

.verify(options) ⇒ Object

Options: message, signature, certificate



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/cryptopro/signature.rb', line 8

def self.verify(options)
  raise "Message required" if (options[:message].nil? || options[:message].empty?)
  raise "Signature required" if (options[:signature].nil? || options[:signature].empty?)
  raise "Certificate required" if (options[:certificate].nil? || options[:certificate].empty?)

  # Для работы с cryptcp требуется, чтобы сообщение, полпись и сертификат были в виде файлов
  # Создаётся временная уникальная папка для каждой проверки
  tmp_dir = create_temp_dir
  create_temp_files(tmp_dir, options)
  valid = execute(tmp_dir)
end