cryptopro 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG ADDED
@@ -0,0 +1,2 @@
1
+ 14 Nov 2011 - v.0.0.3
2
+ * добавлена возможность выпустить сертификат в тестовом УЦ
data/README.textile CHANGED
@@ -11,9 +11,13 @@ h1. Использование
11
11
 
12
12
  gem 'cryptopro'
13
13
 
14
- В коде:
14
+ Проверка подписи:
15
15
 
16
16
  Cryptopro::Signature.verify(:message => "message", :signature => "signature", :certificate => "certificate")
17
17
 
18
+ Получение сертификата в тестовом УЦ:
19
+
20
+ Cryptopro::Csr.issue_test_certificate(csr)
21
+
18
22
  Copyright (c) 2011 divineforest, evrone.com
19
23
  This project rocks and uses MIT-LICENSE.
data/lib/cryptopro.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'cryptopro/csr'
1
2
  require 'cryptopro/signature'
2
3
 
3
4
  module Cryptopro
@@ -0,0 +1,24 @@
1
+ module Cryptopro
2
+ class Csr
3
+ TEST_CA_UPLOAD_PAGE_URL = "http://www.cryptopro.ru/certsrv/certfnsh.asp"
4
+ TEST_CA_DOWNLOAD_PAGE_URL = "http://www.cryptopro.ru/certsrv/certnew.cer?ReqID=%{ca_request_id}&Enc=b64"
5
+
6
+ def self.issue_test_certificate(csr)
7
+ upload_uri = URI(TEST_CA_UPLOAD_PAGE_URL)
8
+ upload_response = Net::HTTP.post_form(upload_uri,
9
+ 'Mode' => 'newreq',
10
+ 'CertRequest' => csr
11
+ )
12
+
13
+ ca_request_id = upload_response.body.match(/ReqID\=(\d+)/)[1]
14
+
15
+ if ca_request_id
16
+ download_url_string = TEST_CA_DOWNLOAD_PAGE_URL % {:ca_request_id => ca_request_id}
17
+ download_uri = URI(download_url_string)
18
+ Net::HTTP.get(download_uri)
19
+ else
20
+ raise "CSR not accepted"
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,3 +1,3 @@
1
1
  module Cryptopro
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cryptopro
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - divineforest
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-11-02 00:00:00 +03:00
18
+ date: 2011-11-14 00:00:00 +03:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -42,12 +42,14 @@ extra_rdoc_files: []
42
42
 
43
43
  files:
44
44
  - .gitignore
45
+ - CHANGELOG
45
46
  - Gemfile
46
47
  - MIT-LICENSE
47
48
  - README.textile
48
49
  - Rakefile
49
50
  - cryptopro.gemspec
50
51
  - lib/cryptopro.rb
52
+ - lib/cryptopro/csr.rb
51
53
  - lib/cryptopro/signature.rb
52
54
  - lib/cryptopro/version.rb
53
55
  has_rdoc: true