zanzibar 0.0.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MGVkMGM2YjU2MjA3YTAyZjQ2NDBkZTUxNjkzZTdhZDk1NGFmMjdmZg==
5
+ data.tar.gz: !binary |-
6
+ OGVkZTA1ZjljMjVkYTA1MzMwMTRiODIzYmM1NzBiODQzMmRiMWU1OQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ MmJhMzQ3NDczMTU0YWQyNTIwODJmNjAzNzg4MDBjY2M3NDM3ODY2N2MwOGY4
10
+ MWE1NTMwNjBlYmIyYTdmMGM3NDBkNjg5MzE0N2I5YTJmMjAzOTFjNmRlZWI5
11
+ MTE2YjJjY2IzOTViMzhkNDEwOTllMDE1MzFkN2NhODBkMzc3MmU=
12
+ data.tar.gz: !binary |-
13
+ YjMwMjI1YzhkOThjN2FhMGFjZjYyZjY4MmJmODY2MmU1NzY5MjU2NGJmMjBi
14
+ ZTAwYmQ3NWY5OGU4NzQxMjZiZjkyOWVkMGI0MmFkNDg4NGEwOWJlNGJhODk2
15
+ Zjc2NjUyYmE0MDk1YjM2YzZiZDFjOTA4MzQ0OTJmZWJlMGMzN2U=
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec/spec_helper
data/.travis.yml ADDED
@@ -0,0 +1,16 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
5
+ addons:
6
+ code_climate:
7
+ repo_token:
8
+ secure: "XbKXMtcF/NnFr9JMuJNRzgsUcDcHxGi5jVc2B4HGT4EHDUnOV/06SfTTJMiLz3hgIgH1dpEgt+4cjAzAmZrmZrViY3rOH0MU1f6eAF4+BPMb0JwKYnPxTyPF5RjsWf0aFe6JdYM1S1T7EpP2XUAlV9ppmCYKrYUEa/OAXsz4ruU="
9
+ deploy:
10
+ provider: rubygems
11
+ api_key:
12
+ secure: "CFXaOgtLypVc3/Nn3NFyeTYJ3rR/KNua2FPFHc02h5K/TPm8PMlHsYEB3e9OpithnC5cLqPUUlyZL4Gz7QC4zxX0G4luNVz+ZXdueMk1GBstK9QMsrjOQMKnQTCPaK/3x2/53kuPWMjYSyn5+ICkf/Omq1EVD4YEplhSvIRA9QQ="
13
+ gem: zanzibar
14
+ on:
15
+ tags: true
16
+ all_branches: true
data/Gemfile CHANGED
@@ -1,9 +1,15 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'savon'
4
- gem 'savon_spec'
5
- gem 'rspec'
6
- gem 'webmock'
4
+
5
+ group :test do
6
+ gem 'rake'
7
+ gem 'savon_spec'
8
+ gem 'rspec'
9
+ gem 'webmock'
10
+ gem "codeclimate-test-reporter"
11
+ gem 'zanzibar', path: '.'
12
+ end
7
13
 
8
14
  # Specify your gem's dependencies in zanzibar.gemspec
9
15
  gemspec
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Zanzibar
2
-
2
+ [![Gem Version](https://badge.fury.io/rb/zanzibar.svg)](http://badge.fury.io/rb/zanzibar)
3
3
 
4
4
  Zanzibar is a utility to retrieve secrets from a Secret Server installation. It supports retrieval of a password, public/private key, or secret attachment.
5
5
 
@@ -51,6 +51,20 @@ secrets.download_attachment(:scrt_id => 3456, :path => 'secrets/')
51
51
 
52
52
  ```
53
53
 
54
+ ### Command Line
55
+
56
+ Zanzibar comes bundled with the [`zamioculcas`](http://en.wikipedia.org/wiki/Zamioculcas) command-line utility that can be used for fetching passwords and downloading keys from outside of Ruby.
57
+
58
+ `Zamioculcas` supports most actions provided by Zanzibar itself. Because it operates on the command-line, it can be used as part of a pipeline or within a bash script.
59
+
60
+ ```bash
61
+ # if you don't pipe in a password, you will be prompted to enter one.
62
+ # this will download the private key from secret 1984 to the current directory
63
+ cat ./local-password | zamioculcas 1984 -s server.example.com -d example.com -t privatekey
64
+
65
+ ssh user@someremote -i ./private_key
66
+ ```
67
+
54
68
  ## Contributing
55
69
 
56
70
  1. Fork it ( https://github.com/Cimpress-MCP/zanzibar/fork )
data/Rakefile CHANGED
@@ -1,10 +1,8 @@
1
1
  require "bundler/gem_tasks"
2
+ require "bundler/setup" # load up our gem environment (incl. local zanzibar)
3
+ require 'rspec/core/rake_task'
4
+ require 'zanzibar/version'
2
5
 
3
- task 'test' do
4
- Dir.chdir('test')
5
- system("rspec zanzibar_spec.rb")
6
- end
6
+ task :default => [:test]
7
7
 
8
- task 'install_dependencies' do
9
- system('bundle install')
10
- end
8
+ RSpec::Core::RakeTask.new(:test)
data/bin/zamioculcas ADDED
@@ -0,0 +1,70 @@
1
+ #! ruby
2
+
3
+ require 'zanzibar'
4
+ require 'optparse'
5
+
6
+ options = {
7
+ :domain => 'local'
8
+ }
9
+
10
+ OptionParser.new do |opts|
11
+ opts.banner = "Usage: zamioculcas -d domain [-w wsdl] [-k] [-p] [secret_id]"
12
+
13
+ opts.on("-d", "--domain DOMAIN", "Specify domain") do |v|
14
+ options[:domain] = v
15
+ end
16
+
17
+ opts.on("-w", "--wsdl WSDL", "Specify WSDL location") do |v|
18
+ options[:wsdl] = v
19
+ end
20
+
21
+ opts.on("-s", "--server SERVER", "Secret server hostname or IP") do |v|
22
+ options[:server] = v
23
+ end
24
+
25
+ opts.on("-k", "--no-check-certificate", "Don't run SSL certificate checks") do |v|
26
+ options[:globals] = {:ssl_verify_mode => :none}
27
+ end
28
+
29
+ opts.on("-p", "--password PASSWORD", "Specify password") do |v|
30
+ options[:pwd] = v
31
+ end
32
+
33
+ opts.on("-t", "--type TYPE", "Specify the type of secret") do |v|
34
+ options[:type] = v
35
+ end
36
+
37
+ opts.on("-u", "--user USER", "Specify the username") do |v|
38
+ options[:username] = v
39
+ end
40
+
41
+ end.parse!
42
+
43
+ raise OptionParser::MissingArgument if options[:server].nil?
44
+ options[:type] = "password" if options[:type].nil?
45
+
46
+ unless STDIN.tty? || options[:pwd]
47
+ options[:pwd] = $stdin.read.strip
48
+ end
49
+
50
+ secret_id = Integer(ARGV.pop)
51
+ if(!secret_id)
52
+ fail "no secret!"
53
+ end
54
+
55
+ unless options[:wsdl] || options[:server].nil?
56
+ options[:wsdl] = "https://#{options[:server]}/webservices/sswebservice.asmx?wsdl"
57
+ end
58
+
59
+ scrt = Zanzibar::Zanzibar.new(options)
60
+
61
+ case options[:type]
62
+ when "password"
63
+ $stdout.write "#{scrt.get_password(secret_id)}\n"
64
+ when "privatekey"
65
+ scrt.download_private_key(:scrt_id=>secret_id)
66
+ when "publickey"
67
+ scrt.download_public_key(:scrt_id=>secret_id)
68
+ else
69
+ $stderr.write "#{options[:type]} is not a known type."
70
+ end
@@ -1,3 +1,3 @@
1
- module Zanzibar
2
- VERSION = "0.0.8"
3
- end
1
+ module Zanzibar
2
+ VERSION = "0.1.9"
3
+ end
data/lib/zanzibar.rb CHANGED
@@ -10,9 +10,16 @@ module Zanzibar
10
10
  class Zanzibar
11
11
 
12
12
  ##
13
- # @param args{:domain, :wsdl, :pwd, :globals{}}
13
+ # @param args{:domain, :wsdl, :pwd, :username, :globals{}}
14
14
 
15
15
  def initialize(args = {})
16
+
17
+ if args[:username]
18
+ @@username = args[:username]
19
+ else
20
+ @@username = ENV['USER']
21
+ end
22
+
16
23
  if args[:wsdl]
17
24
  @@wsdl = args[:wsdl]
18
25
  else
@@ -46,7 +53,7 @@ module Zanzibar
46
53
  # @return [String] the password for the current user
47
54
 
48
55
  def prompt_for_password
49
- puts "Please enter password for #{ENV['USER']}:"
56
+ puts "Please enter password for #{@@username}:"
50
57
  return STDIN.noecho(&:gets).chomp
51
58
  end
52
59
 
@@ -73,13 +80,13 @@ module Zanzibar
73
80
 
74
81
  def get_token
75
82
  begin
76
- response = @@client.call(:authenticate, message: { username: ENV['USER'], password: @@password, organization: "", domain: @@domain }).hash
83
+ response = @@client.call(:authenticate, message: { username: @@username, password: @@password, organization: "", domain: @@domain }).hash
77
84
  if response[:envelope][:body][:authenticate_response][:authenticate_result][:errors]
78
- raise "Error generating the authentication token for user #{ENV['USER']}: #{response[:envelope][:body][:authenticate_response][:authenticate_result][:errors][:string]}"
85
+ raise "Error generating the authentication token for user #{@@username}: #{response[:envelope][:body][:authenticate_response][:authenticate_result][:errors][:string]}"
79
86
  end
80
87
  response[:envelope][:body][:authenticate_response][:authenticate_result][:token]
81
88
  rescue Savon::Error => err
82
- raise "There was an error generating the authentiaton token for user #{ENV['USER']}: #{err}"
89
+ raise "There was an error generating the authentiaton token for user #{@@username}: #{err}"
83
90
  end
84
91
  end
85
92
 
@@ -108,12 +115,19 @@ module Zanzibar
108
115
  def get_password(scrt_id)
109
116
  begin
110
117
  secret = get_secret(scrt_id)
111
- return secret[:envelope][:body][:get_secret_response][:get_secret_result][:secret][:items][:secret_item][1][:value]
118
+ secret_items = secret[:envelope][:body][:get_secret_response][:get_secret_result][:secret][:items][:secret_item]
119
+ return get_secret_item_by_field_name(secret_items,"Password")[:value]
112
120
  rescue Savon::Error => err
113
121
  raise "There was an error getting the password for secret #{scrt_id}: #{err}"
114
122
  end
115
123
  end
116
124
 
125
+ def get_secret_item_by_field_name(secret_items, field_name)
126
+ secret_items.each do |item|
127
+ return item if item[:field_name] == field_name
128
+ end
129
+ end
130
+
117
131
  ## Get the secret item id that relates to a key file or attachment.
118
132
  # Will raise on error
119
133
  # @param [Integer] the secret id
@@ -122,25 +136,12 @@ module Zanzibar
122
136
 
123
137
  def get_scrt_item_id(scrt_id, type, token)
124
138
  secret = get_secret(scrt_id, token)
125
- case type
126
- when 'privatekey'
127
- ## Get private key item id
128
- secret[:envelope][:body][:get_secret_response][:get_secret_result][:secret][:items][:secret_item].each do |item|
129
- return item[:id] if item[:field_name] == 'Private Key'
130
- end
131
- when 'publickey'
132
- ## Get public key item id
133
- secret[:envelope][:body][:get_secret_response][:get_secret_result][:secret][:items][:secret_item].each do |item|
134
- return item[:id] if item[:field_name] == 'Public Key'
135
- end
136
- when 'attachment'
137
- ## Get attachment item id. This currently only supports secrets with one attachment.
138
- secret[:envelope][:body][:get_secret_response][:get_secret_result][:secret][:items][:secret_item].each do |item|
139
- return item[:id] if item[:field_name] == 'Attachment'
140
- end
141
- else
142
- raise "Unknown type, #{type}."
143
- end
139
+ secret_items = secret[:envelope][:body][:get_secret_response][:get_secret_result][:secret][:items][:secret_item]
140
+ begin
141
+ return get_secret_item_by_field_name(secret_items, type)[:id]
142
+ rescue
143
+ raise "Unknown type, #{type}."
144
+ end
144
145
  end
145
146
 
146
147
  ## Downloads the private key for a secret and places it where Zanzibar is running, or :path if specified
@@ -152,7 +153,7 @@ module Zanzibar
152
153
  FileUtils.mkdir_p(args[:path]) if args[:path]
153
154
  path = args[:path] ? args[:path] : '.' ## The File.join below doesn't handle nils well, so let's take that possibility away.
154
155
  begin
155
- response = @@client.call(:download_file_attachment_by_item_id, message: { token: token, secretId: args[:scrt_id], secretItemId: args[:scrt_item_id] || get_scrt_item_id(args[:scrt_id], 'privatekey', token)}).hash
156
+ response = @@client.call(:download_file_attachment_by_item_id, message: { token: token, secretId: args[:scrt_id], secretItemId: args[:scrt_item_id] || get_scrt_item_id(args[:scrt_id], 'Private Key', token)}).hash
156
157
  if response[:envelope][:body][:download_file_attachment_by_item_id_response][:download_file_attachment_by_item_id_result][:errors]
157
158
  raise "There was an error getting the private key for secret #{args[:scrt_id]}: #{response[:envelope][:body][:download_file_attachment_by_item_id_response][:download_file_attachment_by_item_id_result][:string]}"
158
159
  end
@@ -173,7 +174,7 @@ module Zanzibar
173
174
  FileUtils.mkdir_p(args[:path]) if args[:path]
174
175
  path = args[:path] ? args[:path] : '.' ## The File.join below doesn't handle nils well, so let's take that possibility away.
175
176
  begin
176
- response = @@client.call(:download_file_attachment_by_item_id, message: { token: token, secretId: args[:scrt_id], secretItemId: args[:scrt_item_id] || get_scrt_item_id(args[:scrt_id], 'publickey', token)}).hash
177
+ response = @@client.call(:download_file_attachment_by_item_id, message: { token: token, secretId: args[:scrt_id], secretItemId: args[:scrt_item_id] || get_scrt_item_id(args[:scrt_id], 'Public Key', token)}).hash
177
178
  if response[:envelope][:body][:download_file_attachment_by_item_id_response][:download_file_attachment_by_item_id_result][:errors]
178
179
  raise "There was an error getting the public key for secret #{args[:scrt_id]}: #{response[:envelope][:body][:download_file_attachment_by_item_id_response][:download_file_attachment_by_item_id_result][:string]}"
179
180
  end
@@ -194,7 +195,7 @@ module Zanzibar
194
195
  FileUtils.mkdir_p(args[:path]) if args[:path]
195
196
  path = args[:path] ? args[:path] : '.' ## The File.join below doesn't handle nils well, so let's take that possibility away.
196
197
  begin
197
- response = @@client.call(:download_file_attachment_by_item_id, message: { token: token, secretId: args[:scrt_id], secretItemId: args[:scrt_item_id] || get_scrt_item_id(args[:scrt_id], 'attachment', token)}).hash
198
+ response = @@client.call(:download_file_attachment_by_item_id, message: { token: token, secretId: args[:scrt_id], secretItemId: args[:scrt_item_id] || get_scrt_item_id(args[:scrt_id], 'Attachment', token)}).hash
198
199
  if response[:envelope][:body][:download_file_attachment_by_item_id_response][:download_file_attachment_by_item_id_result][:errors]
199
200
  raise "There was an error getting the attachment for secret #{args[:scrt_id]}: #{response[:envelope][:body][:download_file_attachment_by_item_id_response][:download_file_attachment_by_item_id_result][:string]}"
200
201
  end
@@ -1,12 +1,12 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
- <soap:Body>
4
- <DownloadFileAttachmentByItemIdResponse xmlns="urn:thesecretserver.com">
5
- <DownloadFileAttachmentByItemIdResult>
6
- <Errors />
7
- <FileAttachment>SSBhbSBhIHNlY3JldCBhdHRhY2htZW50</FileAttachment>
8
- <FileName>attachment.txt</FileName>
9
- </DownloadFileAttachmentByItemIdResult>
10
- </DownloadFileAttachmentByItemIdResponse>
11
- </soap:Body>
12
- </soap:Envelope>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
+ <soap:Body>
4
+ <DownloadFileAttachmentByItemIdResponse xmlns="urn:thesecretserver.com">
5
+ <DownloadFileAttachmentByItemIdResult>
6
+ <Errors />
7
+ <FileAttachment>SSBhbSBhIHNlY3JldCBhdHRhY2htZW50</FileAttachment>
8
+ <FileName>attachment.txt</FileName>
9
+ </DownloadFileAttachmentByItemIdResult>
10
+ </DownloadFileAttachmentByItemIdResponse>
11
+ </soap:Body>
12
+ </soap:Envelope>
File without changes
@@ -1,12 +1,12 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
- <soap:Body>
4
- <DownloadFileAttachmentByItemIdResponse xmlns="urn:thesecretserver.com">
5
- <DownloadFileAttachmentByItemIdResult>
6
- <Errors />
7
- <FileAttachment>LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVkgLS0tLS0KemFuemliYXJUZXN0UGFzc3dvcmQKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0=</FileAttachment>
8
- <FileName>zanzi_key</FileName>
9
- </DownloadFileAttachmentByItemIdResult>
10
- </DownloadFileAttachmentByItemIdResponse>
11
- </soap:Body>
12
- </soap:Envelope>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
+ <soap:Body>
4
+ <DownloadFileAttachmentByItemIdResponse xmlns="urn:thesecretserver.com">
5
+ <DownloadFileAttachmentByItemIdResult>
6
+ <Errors />
7
+ <FileAttachment>LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVkgLS0tLS0KemFuemliYXJUZXN0UGFzc3dvcmQKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0=</FileAttachment>
8
+ <FileName>zanzi_key</FileName>
9
+ </DownloadFileAttachmentByItemIdResult>
10
+ </DownloadFileAttachmentByItemIdResponse>
11
+ </soap:Body>
12
+ </soap:Envelope>
File without changes
@@ -1,57 +1,57 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
- <soap:Body>
4
- <GetSecretResponse xmlns="urn:thesecretserver.com">
5
- <GetSecretResult>
6
- <Errors />
7
- <Secret>
8
- <Name>Zanzi Secret Attachment</Name>
9
- <Items>
10
- <SecretItem>
11
- <Value>N/A</Value>
12
- <Id>20144</Id>
13
- <FieldId>284</FieldId>
14
- <FieldName>Username</FieldName>
15
- <IsFile>false</IsFile>
16
- <IsNotes>false</IsNotes>
17
- <IsPassword>false</IsPassword>
18
- <FieldDisplayName>Username</FieldDisplayName>
19
- </SecretItem>
20
- <SecretItem>
21
- <Value>N/A</Value>
22
- <Id>20145</Id>
23
- <FieldId>285</FieldId>
24
- <FieldName>Password</FieldName>
25
- <IsFile>false</IsFile>
26
- <IsNotes>false</IsNotes>
27
- <IsPassword>true</IsPassword>
28
- <FieldDisplayName>Password</FieldDisplayName>
29
- </SecretItem>
30
- <SecretItem>
31
- <Value />
32
- <Id>20148</Id>
33
- <FieldId>287</FieldId>
34
- <FieldName>Attachment</FieldName>
35
- <IsFile>true</IsFile>
36
- <IsNotes>false</IsNotes>
37
- <IsPassword>false</IsPassword>
38
- <FieldDisplayName>Attachment</FieldDisplayName>
39
- </SecretItem>
40
- </Items>
41
- <Id>3456</Id>
42
- <SecretTypeId>6028</SecretTypeId>
43
- <FolderId>85</FolderId>
44
- <IsWebLauncher>false</IsWebLauncher>
45
- <Active>true</Active>
46
- <CheckOutMinutesRemaining xsi:nil="true" />
47
- <IsCheckedOut xsi:nil="true" />
48
- <CheckOutUserDisplayName />
49
- <CheckOutUserId xsi:nil="true" />
50
- <IsOutOfSync xsi:nil="true" />
51
- <IsRestricted>false</IsRestricted>
52
- <OutOfSyncReason />
53
- </Secret>
54
- </GetSecretResult>
55
- </GetSecretResponse>
56
- </soap:Body>
57
- </soap:Envelope>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
+ <soap:Body>
4
+ <GetSecretResponse xmlns="urn:thesecretserver.com">
5
+ <GetSecretResult>
6
+ <Errors />
7
+ <Secret>
8
+ <Name>Zanzi Secret Attachment</Name>
9
+ <Items>
10
+ <SecretItem>
11
+ <Value>N/A</Value>
12
+ <Id>20144</Id>
13
+ <FieldId>284</FieldId>
14
+ <FieldName>Username</FieldName>
15
+ <IsFile>false</IsFile>
16
+ <IsNotes>false</IsNotes>
17
+ <IsPassword>false</IsPassword>
18
+ <FieldDisplayName>Username</FieldDisplayName>
19
+ </SecretItem>
20
+ <SecretItem>
21
+ <Value>N/A</Value>
22
+ <Id>20145</Id>
23
+ <FieldId>285</FieldId>
24
+ <FieldName>Password</FieldName>
25
+ <IsFile>false</IsFile>
26
+ <IsNotes>false</IsNotes>
27
+ <IsPassword>true</IsPassword>
28
+ <FieldDisplayName>Password</FieldDisplayName>
29
+ </SecretItem>
30
+ <SecretItem>
31
+ <Value />
32
+ <Id>20148</Id>
33
+ <FieldId>287</FieldId>
34
+ <FieldName>Attachment</FieldName>
35
+ <IsFile>true</IsFile>
36
+ <IsNotes>false</IsNotes>
37
+ <IsPassword>false</IsPassword>
38
+ <FieldDisplayName>Attachment</FieldDisplayName>
39
+ </SecretItem>
40
+ </Items>
41
+ <Id>3456</Id>
42
+ <SecretTypeId>6028</SecretTypeId>
43
+ <FolderId>85</FolderId>
44
+ <IsWebLauncher>false</IsWebLauncher>
45
+ <Active>true</Active>
46
+ <CheckOutMinutesRemaining xsi:nil="true" />
47
+ <IsCheckedOut xsi:nil="true" />
48
+ <CheckOutUserDisplayName />
49
+ <CheckOutUserId xsi:nil="true" />
50
+ <IsOutOfSync xsi:nil="true" />
51
+ <IsRestricted>false</IsRestricted>
52
+ <OutOfSyncReason />
53
+ </Secret>
54
+ </GetSecretResult>
55
+ </GetSecretResponse>
56
+ </soap:Body>
57
+ </soap:Envelope>
@@ -1,47 +1,47 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
- <soap:Body>
4
- <GetSecretResponse xmlns="urn:thesecretserver.com">
5
- <GetSecretResult>
6
- <Errors />
7
- <Secret>
8
- <Name>Zanzibar Test Keys</Name>
9
- <Items>
10
- <SecretItem>
11
- <Value />
12
- <Id>15214</Id>
13
- <FieldId>486</FieldId>
14
- <FieldName>Private Key</FieldName>
15
- <IsFile>true</IsFile>
16
- <IsNotes>false</IsNotes>
17
- <IsPassword>false</IsPassword>
18
- <FieldDisplayName>Private Key</FieldDisplayName>
19
- </SecretItem>
20
- <SecretItem>
21
- <Value />
22
- <Id>15215</Id>
23
- <FieldId>487</FieldId>
24
- <FieldName>Public Key</FieldName>
25
- <IsFile>true</IsFile>
26
- <IsNotes>false</IsNotes>
27
- <IsPassword>false</IsPassword>
28
- <FieldDisplayName>Public Key</FieldDisplayName>
29
- </SecretItem>
30
- </Items>
31
- <Id>2345</Id>
32
- <SecretTypeId>6054</SecretTypeId>
33
- <FolderId>85</FolderId>
34
- <IsWebLauncher>false</IsWebLauncher>
35
- <Active>true</Active>
36
- <CheckOutMinutesRemaining xsi:nil="true" />
37
- <IsCheckedOut xsi:nil="true" />
38
- <CheckOutUserDisplayName />
39
- <CheckOutUserId xsi:nil="true" />
40
- <IsOutOfSync xsi:nil="true" />
41
- <IsRestricted>false</IsRestricted>
42
- <OutOfSyncReason />
43
- </Secret>
44
- </GetSecretResult>
45
- </GetSecretResponse>
46
- </soap:Body>
47
- </soap:Envelope>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
+ <soap:Body>
4
+ <GetSecretResponse xmlns="urn:thesecretserver.com">
5
+ <GetSecretResult>
6
+ <Errors />
7
+ <Secret>
8
+ <Name>Zanzibar Test Keys</Name>
9
+ <Items>
10
+ <SecretItem>
11
+ <Value />
12
+ <Id>15214</Id>
13
+ <FieldId>486</FieldId>
14
+ <FieldName>Private Key</FieldName>
15
+ <IsFile>true</IsFile>
16
+ <IsNotes>false</IsNotes>
17
+ <IsPassword>false</IsPassword>
18
+ <FieldDisplayName>Private Key</FieldDisplayName>
19
+ </SecretItem>
20
+ <SecretItem>
21
+ <Value />
22
+ <Id>15215</Id>
23
+ <FieldId>487</FieldId>
24
+ <FieldName>Public Key</FieldName>
25
+ <IsFile>true</IsFile>
26
+ <IsNotes>false</IsNotes>
27
+ <IsPassword>false</IsPassword>
28
+ <FieldDisplayName>Public Key</FieldDisplayName>
29
+ </SecretItem>
30
+ </Items>
31
+ <Id>2345</Id>
32
+ <SecretTypeId>6054</SecretTypeId>
33
+ <FolderId>85</FolderId>
34
+ <IsWebLauncher>false</IsWebLauncher>
35
+ <Active>true</Active>
36
+ <CheckOutMinutesRemaining xsi:nil="true" />
37
+ <IsCheckedOut xsi:nil="true" />
38
+ <CheckOutUserDisplayName />
39
+ <CheckOutUserId xsi:nil="true" />
40
+ <IsOutOfSync xsi:nil="true" />
41
+ <IsRestricted>false</IsRestricted>
42
+ <OutOfSyncReason />
43
+ </Secret>
44
+ </GetSecretResult>
45
+ </GetSecretResponse>
46
+ </soap:Body>
47
+ </soap:Envelope>