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 +15 -0
- data/.rspec +2 -0
- data/.travis.yml +16 -0
- data/Gemfile +9 -3
- data/README.md +15 -1
- data/Rakefile +5 -7
- data/bin/zamioculcas +70 -0
- data/lib/zanzibar/version.rb +3 -3
- data/lib/zanzibar.rb +29 -28
- data/{test → spec}/responses/attachment_response.xml +12 -12
- data/{test → spec}/responses/authenticate_response.xml +0 -0
- data/{test → spec}/responses/download_private_key_response.xml +12 -12
- data/{test → spec}/responses/download_public_key_response.xml +0 -0
- data/{test → spec}/responses/get_secret_response.xml +0 -0
- data/{test → spec}/responses/get_secret_with_attachment_response.xml +57 -57
- data/{test → spec}/responses/get_secret_with_keys_response.xml +47 -47
- data/{test → spec}/scrt.wsdl +629 -629
- data/{test → spec}/spec/spec_helper.rb +7 -0
- data/{test → spec}/zanzibar_spec.rb +9 -9
- data/zanzibar.gemspec +1 -0
- metadata +44 -36
- data/test/.rspec +0 -2
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
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
|
-
|
|
5
|
-
|
|
6
|
-
gem '
|
|
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
|
+
[](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
|
|
4
|
-
Dir.chdir('test')
|
|
5
|
-
system("rspec zanzibar_spec.rb")
|
|
6
|
-
end
|
|
6
|
+
task :default => [:test]
|
|
7
7
|
|
|
8
|
-
|
|
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
|
data/lib/zanzibar/version.rb
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module Zanzibar
|
|
2
|
-
VERSION = "0.
|
|
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 #{
|
|
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:
|
|
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 #{
|
|
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 #{
|
|
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
|
-
|
|
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
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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], '
|
|
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], '
|
|
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], '
|
|
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
|
|
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>
|