amarillo 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/amarillo +6 -2
- data/lib/amarillo.rb +14 -5
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4e3236346294475f1a163d18a26c6802d203f7fb9d9feb47c24f90ef117e2fb
|
4
|
+
data.tar.gz: c02964b63238765fd4eacc43d61fb7c6aae1aa256374c447efa429d99d4816dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8f1b4dbb46b7c28c3ba1f800e6b625351887e46212bd5dc34ea345ab993b9b4ddb58d664fd4a6504104f101a94cdf3a5e782d5100429e0c124efeaa277c7da7
|
7
|
+
data.tar.gz: 3905e62aae46c7238416fbd60ce58afca677b05b146a3391170dcd99610cc2d086eedfc1972c6355035db49a7193b16a87d8dbd87023ab659329c4b3fdd00012
|
data/bin/amarillo
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
#
|
3
|
-
# Copyright
|
3
|
+
# Copyright 2022 iAchieved.it LLC
|
4
4
|
#
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -55,6 +55,10 @@ OptionParser.new do |opts|
|
|
55
55
|
options[:name] = n
|
56
56
|
end
|
57
57
|
|
58
|
+
opts.on("-k", "--keytype KEYTYPE", "Valid key types: ") do |k|
|
59
|
+
options[:keytype] = k
|
60
|
+
end
|
61
|
+
|
58
62
|
opts.on("-a", "--amarillo-home AMARILLO_HOME", "Home directory for configuration, keys, and certificates") do |o|
|
59
63
|
options[:amarillo_home] = a
|
60
64
|
end
|
@@ -125,7 +129,7 @@ elsif options[:list] then
|
|
125
129
|
elsif options[:delete] then
|
126
130
|
y.deleteCertificate name
|
127
131
|
else
|
128
|
-
y.requestCertificate zone, name, email,
|
132
|
+
y.requestCertificate zone, name, email, options[:keytype]
|
129
133
|
end
|
130
134
|
|
131
135
|
|
data/lib/amarillo.rb
CHANGED
@@ -139,6 +139,11 @@ class Amarillo
|
|
139
139
|
|
140
140
|
@route53.change_resource_record_sets(options)
|
141
141
|
|
142
|
+
at_exit do
|
143
|
+
self.cleanup label, record_type, challengeValue
|
144
|
+
end
|
145
|
+
|
146
|
+
|
142
147
|
nameservers = @environment.get_zone_nameservers
|
143
148
|
|
144
149
|
@logger.info "Waiting for DNS record to propagate"
|
@@ -178,16 +183,22 @@ class Amarillo
|
|
178
183
|
if type == 'ec' then
|
179
184
|
certPrivateKey = OpenSSL::PKey::EC.new(args).generate_key
|
180
185
|
elsif type == 'rsa' then
|
181
|
-
|
186
|
+
if args.to_i > 0
|
187
|
+
certPrivateKey = OpenSSL::PKey::RSA.new(args.to_i)
|
188
|
+
else
|
189
|
+
@logger.error("Invalid RSA key size: #{args}")
|
190
|
+
end
|
182
191
|
end
|
183
192
|
|
184
193
|
@logger.info "Requesting certificate..."
|
185
194
|
csr = Acme::Client::CertificateRequest.new private_key: certPrivateKey,
|
186
195
|
names: [commonName]
|
187
196
|
|
188
|
-
while order.status
|
197
|
+
while order.status != 'ready'
|
189
198
|
sleep(1)
|
199
|
+
@logger.info "Order status: #{order.status}"
|
190
200
|
order.reload
|
201
|
+
raise if order.status == 'invalid'
|
191
202
|
end
|
192
203
|
|
193
204
|
@logger.info "Order status: #{order.status}"
|
@@ -196,7 +207,7 @@ class Amarillo
|
|
196
207
|
order.finalize(csr: csr)
|
197
208
|
rescue
|
198
209
|
@logger.error("Error finalizing certificate order")
|
199
|
-
|
210
|
+
raise
|
200
211
|
end
|
201
212
|
|
202
213
|
keyOutputPath = "#{@keyPath}/#{commonName}.key"
|
@@ -218,8 +229,6 @@ class Amarillo
|
|
218
229
|
certConfigFile = "#{@configsPath}/#{commonName}.yml"
|
219
230
|
File.write(certConfigFile, certConfig.to_yaml)
|
220
231
|
|
221
|
-
self.cleanup label, record_type, challengeValue
|
222
|
-
|
223
232
|
end
|
224
233
|
|
225
234
|
def cleanup(label, record_type, challengeValue)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: amarillo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- iAchieved.it LLC
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: acme-client
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '3.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '3.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: aws-sdk-core
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|