zanzibar 0.0.8 → 0.1.9

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