certie 0.0.4 → 0.0.7

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.
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