5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/iapi-idlc-sdk-deploy/keypair.rb', line 5
def generate(outdir)
raise ArgumentError, 'Must specify output directory' if outdir.nil?
FileUtils.mkdir_p outdir unless File.directory? outdir
private_key_file = "#{outdir}/private_key.pem"
public_key_file = "#{outdir}/public_key.pem"
rsa_key = if File.exist? private_key_file
return if File.exist? public_key_file
private_key_data = File.read(private_key_file)
SSHKey.new(private_key_data)
else
SSHKey.generate
end
private_key = rsa_key.private_key
public_key = rsa_key.ssh_public_key
File.open(private_key_file, 'w') { |file| file.write(private_key) }
File.open(public_key_file, 'w') { |file| file.write(public_key) }
end
|