certie 0.0.4 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/certie +4 -0
  3. data/lib/certie.rb +7 -7
  4. metadata +7 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1a3c56f3a3837a12b682a1f2ff1afe8259c32f62ee6e34873f3ca77a2c503849
4
- data.tar.gz: e19b2ea7b7a3fa9fe158ea17dbd3972a7fa9cc731b2d88660ce87f69c369646f
3
+ metadata.gz: 8358a82f1572ae72b8da92c1d397123ae63aea3d5d52912913bfe8618bd809d6
4
+ data.tar.gz: f98e455d5ab1ddafbd77a16a2d13cca755e7818ec696dc3a863cab78624d12d5
5
5
  SHA512:
6
- metadata.gz: 5027aa317621f51cf8838b67e62c137f52b9382811ecc3745a05021b92a00e6fae977daae625e5a147987b297ed318da810f9f2f2cd41e959e28725aebbac242
7
- data.tar.gz: 4c381be9da66e76aa331ed8e5fb70f33374609d585a508a424223e520ce86fef596357aa1f7a9b0f2c589cb2df1188f0a7b7979593adb10677f8dbff2ba4a278
6
+ metadata.gz: 3f578976d7ed2da9136949de2a63aedef3eb3c9b269ea4e2292f9b1a142747f0e85e29d9b3522651417a3da00f39ee1bd1bef7dd30bc582c3a00755a68156a98
7
+ data.tar.gz: f8eb1ed4c80a59ce60228ae7a04af97b5576a9a6ff57214737dbc9932118ef8c5d759eaf48d37b2a0b4ec598b5bd7bc653ff02fdff91c0d30986757f8a7e13b3
data/bin/certie CHANGED
@@ -4,6 +4,10 @@ require 'certie'
4
4
  def show_usage
5
5
  puts "Usage: #{$0} <common_name>"
6
6
  puts "Example: #{$0} example.com"
7
+ puts ''
8
+ puts 'The subject prefix can be set by performing the following'
9
+ puts 'cat > ~/.certie_subjprefix'
10
+ puts '/C=AE/ST=Dubai/L=Dubai/O=Pocket Theories/OU=Engineering'
7
11
  end
8
12
 
9
13
  ARGV.each do |iterarg|
data/lib/certie.rb CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  require 'openssl'
3
2
 
4
3
  class CertificateWrapper
@@ -91,6 +90,7 @@ class CertificateWrapper
91
90
  ef.issuer_certificate = rootCert
92
91
  # cert.add_extension ef.create_extension('keyUsage', 'digitalSignature', true) # TODO: check if we can set webServer and webClient
93
92
  cert.add_extension ef.create_extension('subjectKeyIdentifier', 'hash', false )
93
+ cert.add_extension ef.create_extension('subjectAltName', 'DNS:' + cn, false) #This can be CSV of multiple DNS: and IP: entries
94
94
 
95
95
  cert.sign rootKey, OpenSSL::Digest.new('SHA256')
96
96
 
@@ -99,10 +99,13 @@ class CertificateWrapper
99
99
  end
100
100
  end
101
101
 
102
- # TODO: Find an alternative to invoking OpenSSL and cat - OpenSSL v2.2.0 seems to have private_to_pem in OpenSSL::PKey
103
- `openssl pkcs8 -topk8 -inform pem -in "#{cn}.rsa" -out "#{cn}.key" -nocrypt`
102
+ # An alternative to invoking OpenSSL and cat - OpenSSL v2.2.0 has private_to_pem in OpenSSL::PKey
103
+ # `openssl pkcs8 -topk8 -inform pem -in "#{cn}.rsa" -out "#{cn}.key" -nocrypt`
104
+ File.open "#{cn}.key", 'wb' do |myfile|
105
+ myfile.print(key.private_to_pem)
106
+ end
104
107
 
105
- # TODO: Test replacement of the system call cat with file_cat
108
+ # Replaced system call cat with file_cat method
106
109
  # `cat "#{cn}.cert" "#{cn}.key" > "#{cn}.pem"`
107
110
  file_cat "#{cn}.pem", ["#{cn}.cert", "#{cn}.key"]
108
111
  end
@@ -122,6 +125,3 @@ class CertificateWrapper
122
125
  create_certificate cn
123
126
  end
124
127
  end
125
-
126
- # key = OpenSSL::PKey::RSA.new 2048
127
- # puts key.private_to_pem
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: certie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katkam Nitin Reddy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-07 00:00:00.000000000 Z
11
+ date: 2022-07-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: openssl
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 2.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 2.2.0
27
27
  description:
28
28
  email:
29
29
  executables:
@@ -51,7 +51,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
51
51
  - !ruby/object:Gem::Version
52
52
  version: '0'
53
53
  requirements: []
54
- rubygems_version: 3.0.6
54
+ rubygems_version: 3.1.6
55
55
  signing_key:
56
56
  specification_version: 4
57
57
  summary: A utility for generating certificates