akami 1.2.2 → 1.3.0
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 +4 -4
- data/.travis.yml +6 -2
- data/CHANGELOG.md +3 -1
- data/akami.gemspec +2 -1
- data/lib/akami/version.rb +1 -1
- data/lib/akami/wsse.rb +1 -1
- data/lib/akami/wsse/certs.rb +15 -5
- data/lib/akami/wsse/signature.rb +2 -1
- data/lib/akami/wsse/verify_signature.rb +103 -33
- data/spec/akami/wsse/signature_spec.rb +34 -0
- data/spec/akami/wsse/verify_signature_spec.rb +55 -0
- data/spec/akami/wsse_spec.rb +48 -43
- data/spec/fixtures/akami/wsse/signature/cert.pem +37 -0
- data/spec/fixtures/akami/wsse/signature/unsigned.xml +1 -0
- data/spec/fixtures/akami/wsse/verify_signature/invalid_digest_changed.xml +3 -0
- data/spec/fixtures/akami/wsse/verify_signature/invalid_digested_changed.xml +3 -0
- data/spec/fixtures/akami/wsse/verify_signature/invalid_signature_changed.xml +3 -0
- data/spec/fixtures/akami/wsse/verify_signature/valid.xml +3 -0
- data/spec/fixtures/akami/wsse/verify_signature/valid_namespaces.xml +3 -0
- data/spec/fixtures/akami/wsse/verify_signature/valid_sha1_gost.xml +3 -0
- data/spec/fixtures/akami/wsse/verify_signature/valid_sha256.xml +3 -0
- data/spec/fixtures/akami/wsse/verify_signature/valid_whitespaces.xml +75 -0
- data/spec/spec_helper.rb +4 -0
- metadata +47 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 208bce131b542d769f19dd08ee9ca4fabffd2bb3
|
4
|
+
data.tar.gz: ab59a51d740dcabd830313410803fe6853bedbfa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 675a10d8d0cbf41cb96627f736c372c1c8a9fc9793c28e35ffafee7f916c57e0cd7d901be1fda698d42bec82de71fe161bda6fa7ed66a897fcbb379fb687b680
|
7
|
+
data.tar.gz: a2d88a8c8966bad864ebc14f150ee950748de0567a60d9db7568d3983de929ea223a105f308528ad13f6189d3f538479bc63c4c72a2fdffcabff48ff879d60e2
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/akami.gemspec
CHANGED
@@ -10,6 +10,7 @@ Gem::Specification.new do |s|
|
|
10
10
|
s.homepage = "https://github.com/savonrb/#{s.name}"
|
11
11
|
s.summary = "Web Service Security"
|
12
12
|
s.description = "Building Web Service Security"
|
13
|
+
s.required_ruby_version = '>= 1.9.2'
|
13
14
|
|
14
15
|
s.rubyforge_project = s.name
|
15
16
|
s.license = "MIT"
|
@@ -18,7 +19,7 @@ Gem::Specification.new do |s|
|
|
18
19
|
s.add_dependency "nokogiri"
|
19
20
|
|
20
21
|
s.add_development_dependency "rake", "~> 10.0"
|
21
|
-
s.add_development_dependency "rspec", "~> 2.
|
22
|
+
s.add_development_dependency "rspec", "~> 2.14"
|
22
23
|
s.add_development_dependency "mocha", "~> 0.13"
|
23
24
|
s.add_development_dependency "timecop", "~> 0.5"
|
24
25
|
|
data/lib/akami/version.rb
CHANGED
data/lib/akami/wsse.rb
CHANGED
@@ -115,7 +115,7 @@ module Akami
|
|
115
115
|
if digest?
|
116
116
|
token = security_hash :wsse, "UsernameToken",
|
117
117
|
"wsse:Username" => username,
|
118
|
-
"wsse:Nonce" => Base64.encode64(nonce),
|
118
|
+
"wsse:Nonce" => Base64.encode64(nonce).chomp,
|
119
119
|
"wsu:Created" => timestamp,
|
120
120
|
"wsse:Password" => digest_password,
|
121
121
|
:attributes! => { "wsse:Password" => { "Type" => PASSWORD_DIGEST_URI }, "wsse:Nonce" => { "EncodingType" => BASE64_URI } }
|
data/lib/akami/wsse/certs.rb
CHANGED
@@ -9,16 +9,26 @@ module Akami
|
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
|
-
attr_accessor :cert_file, :private_key_file, :private_key_password
|
12
|
+
attr_accessor :cert_file, :cert_string, :private_key_file, :private_key_string, :private_key_password
|
13
13
|
|
14
|
-
# Returns an <tt>OpenSSL::X509::Certificate</tt> for the +cert_file+.
|
14
|
+
# Returns an <tt>OpenSSL::X509::Certificate</tt> for the +cert_string+ or +cert_file+.
|
15
15
|
def cert
|
16
|
-
@cert ||=
|
16
|
+
@cert ||=
|
17
|
+
if cert_string.present?
|
18
|
+
OpenSSL::X509::Certificate.new(cert_string)
|
19
|
+
elsif cert_file.present?
|
20
|
+
OpenSSL::X509::Certificate.new(File.read(cert_file))
|
21
|
+
end
|
17
22
|
end
|
18
23
|
|
19
|
-
# Returns an <tt>OpenSSL::PKey::RSA</tt> for the +private_key_file+.
|
24
|
+
# Returns an <tt>OpenSSL::PKey::RSA</tt> for the +private_key_string+ or +private_key_file+.
|
20
25
|
def private_key
|
21
|
-
@private_key ||=
|
26
|
+
@private_key ||=
|
27
|
+
if private_key_string.present?
|
28
|
+
OpenSSL::PKey::RSA.new(private_key_string, private_key_password)
|
29
|
+
elsif private_key_file.present?
|
30
|
+
OpenSSL::PKey::RSA.new(File.read(private_key_file), private_key_password)
|
31
|
+
end
|
22
32
|
end
|
23
33
|
end
|
24
34
|
end
|
data/lib/akami/wsse/signature.rb
CHANGED
@@ -14,7 +14,8 @@ module Akami
|
|
14
14
|
# Without a document, the document cannot be signed.
|
15
15
|
# Generate the document once, and then set document and recall #to_token
|
16
16
|
def document
|
17
|
-
|
17
|
+
return nil if @document.nil?
|
18
|
+
@document.to_xml(save_with: Nokogiri::XML::Node::SaveOptions::AS_XML)
|
18
19
|
end
|
19
20
|
|
20
21
|
def document=(document)
|
@@ -1,88 +1,158 @@
|
|
1
|
+
require 'nokogiri'
|
2
|
+
require 'openssl'
|
3
|
+
|
1
4
|
module Akami
|
2
5
|
class WSSE
|
3
6
|
class InvalidSignature < RuntimeError; end
|
4
7
|
|
8
|
+
# Validating WSSE signed messages.
|
5
9
|
class VerifySignature
|
6
|
-
include Akami::XPathHelper
|
7
10
|
include Akami::C14nHelper
|
8
11
|
|
9
12
|
class InvalidDigest < RuntimeError; end
|
10
13
|
class InvalidSignedValue < RuntimeError; end
|
11
14
|
|
12
|
-
attr_reader :
|
15
|
+
attr_reader :document
|
13
16
|
|
14
|
-
def initialize(
|
15
|
-
@
|
16
|
-
@document = create_document
|
17
|
+
def initialize(xml)
|
18
|
+
@document = Nokogiri::XML(xml.to_s, &:noblanks)
|
17
19
|
end
|
18
20
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
21
|
+
# Returns XML namespaces that are used internally for document querying.
|
22
|
+
def namespaces
|
23
|
+
@namespaces ||= {
|
24
|
+
wse: Akami::WSSE::WSE_NAMESPACE,
|
25
|
+
ds: 'http://www.w3.org/2000/09/xmldsig#',
|
26
|
+
wsu: Akami::WSSE::WSU_NAMESPACE,
|
27
|
+
}
|
23
28
|
end
|
24
29
|
|
25
|
-
|
26
|
-
|
27
|
-
find_digest_value element.attributes["Id"]
|
28
|
-
end
|
29
|
-
|
30
|
-
def signature_value
|
31
|
-
element = element_for_xpath("//Security/Signature/SignatureValue")
|
32
|
-
element ? element.text : ""
|
33
|
-
end
|
30
|
+
# Allows to replace used XML namespaces if anyone will ever need. +hash+ should be a +Hash+ with symbol keys +:wse+, +:ds+, and +:wsu+.
|
31
|
+
attr_writer :namespaces
|
34
32
|
|
33
|
+
# Returns signer's certificate, bundled in signed document
|
35
34
|
def certificate
|
36
|
-
certificate_value =
|
35
|
+
certificate_value = document.at_xpath('//wse:Security/wse:BinarySecurityToken', namespaces).text.strip
|
37
36
|
OpenSSL::X509::Certificate.new Base64.decode64(certificate_value)
|
38
37
|
end
|
39
38
|
|
39
|
+
# Validates document signature, returns +true+ on success, +false+ otherwise.
|
40
40
|
def valid?
|
41
41
|
verify
|
42
42
|
rescue InvalidDigest, InvalidSignedValue
|
43
43
|
return false
|
44
44
|
end
|
45
45
|
|
46
|
+
# Validates document signature and digests and raises if anything mismatches.
|
46
47
|
def verify!
|
47
48
|
verify
|
48
49
|
rescue InvalidDigest, InvalidSignedValue => e
|
49
50
|
raise InvalidSignature, e.message
|
50
51
|
end
|
51
52
|
|
53
|
+
# Returns a hash with currently initialized digesters.
|
54
|
+
#
|
55
|
+
# Will be empty after initialization, and will contain used algorithms after verification.
|
56
|
+
#
|
57
|
+
# May be used to insert additional digesters, not supported out of the box, for example:
|
58
|
+
#
|
59
|
+
# digesters['http://www.w3.org/2001/04/xmldsig-more#rsa-sha512'] = OpenSSL::Digest::SHA512.new
|
60
|
+
|
61
|
+
def digesters
|
62
|
+
@digesters
|
63
|
+
end
|
64
|
+
|
52
65
|
private
|
53
66
|
|
54
67
|
def verify
|
55
|
-
xpath(
|
56
|
-
|
57
|
-
|
58
|
-
|
68
|
+
document.xpath('//wse:Security/ds:Signature/ds:SignedInfo/ds:Reference', namespaces).each do |ref|
|
69
|
+
digest_algorithm = ref.at_xpath('//ds:DigestMethod', namespaces)['Algorithm']
|
70
|
+
element_id = ref.attributes['URI'].value[1..-1] # strip leading '#'
|
71
|
+
element = document.at_xpath(%(//*[@wsu:Id="#{element_id}"]), namespaces)
|
72
|
+
unless supplied_digest(element) == generate_digest(element, digest_algorithm)
|
73
|
+
raise InvalidDigest, "Invalid Digest for #{element_id}"
|
74
|
+
end
|
59
75
|
end
|
60
76
|
|
61
77
|
data = canonicalize(signed_info)
|
62
78
|
signature = Base64.decode64(signature_value)
|
79
|
+
signature_algorithm = document.at_xpath('//wse:Security/ds:Signature/ds:SignedInfo/ds:SignatureMethod', namespaces)['Algorithm']
|
80
|
+
signature_digester = digester_for_signature_method(signature_algorithm)
|
63
81
|
|
64
|
-
certificate.public_key.verify(
|
82
|
+
certificate.public_key.verify(signature_digester, signature, data) or raise InvalidSignedValue, "Could not verify the signature value"
|
65
83
|
end
|
66
84
|
|
67
|
-
def
|
68
|
-
|
85
|
+
def signed_info
|
86
|
+
document.at_xpath('//wse:Security/ds:Signature/ds:SignedInfo', namespaces)
|
69
87
|
end
|
70
88
|
|
71
|
-
|
72
|
-
|
89
|
+
# Generate digest for a given +element+ (or its XPath) with a given +algorithm+
|
90
|
+
def generate_digest(element, algorithm)
|
91
|
+
element = document.at_xpath(element, namespaces) if element.is_a? String
|
92
|
+
xml = canonicalize(element)
|
93
|
+
digest(xml, algorithm).strip
|
73
94
|
end
|
74
95
|
|
75
|
-
def
|
76
|
-
|
96
|
+
def supplied_digest(element)
|
97
|
+
element = document.at_xpath(element, namespaces) if element.is_a? String
|
98
|
+
find_digest_value element.attributes['Id'].value
|
99
|
+
end
|
100
|
+
|
101
|
+
def signature_value
|
102
|
+
element = document.at_xpath('//wse:Security/ds:Signature/ds:SignatureValue', namespaces)
|
103
|
+
element ? element.text : ""
|
77
104
|
end
|
78
105
|
|
79
106
|
def find_digest_value(id)
|
80
|
-
at_xpath(
|
107
|
+
document.at_xpath(%(//wse:Security/ds:Signature/ds:SignedInfo/ds:Reference[@URI="##{id}"]/ds:DigestValue), namespaces).text
|
81
108
|
end
|
82
109
|
|
83
|
-
|
84
|
-
|
110
|
+
# Calculate digest for string with given algorithm URL and Base64 encodes it.
|
111
|
+
def digest(string, algorithm)
|
112
|
+
Base64.encode64 digester(algorithm).digest(string)
|
85
113
|
end
|
114
|
+
|
115
|
+
# Returns digester for calculating digest for signature verification
|
116
|
+
def digester_for_signature_method(algorithm_url)
|
117
|
+
signature_digest_mapping = {
|
118
|
+
'http://www.w3.org/2000/09/xmldsig#rsa-sha1' => 'http://www.w3.org/2000/09/xmldsig#sha1',
|
119
|
+
'http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411' => 'http://www.w3.org/2001/04/xmldsig-more#gostr3411',
|
120
|
+
}
|
121
|
+
digest_url = signature_digest_mapping[algorithm_url] || algorithm_url
|
122
|
+
digester(digest_url)
|
123
|
+
end
|
124
|
+
|
125
|
+
# Constructors for known digest calculating objects
|
126
|
+
DIGESTERS = {
|
127
|
+
# SHA1
|
128
|
+
'http://www.w3.org/2000/09/xmldsig#sha1' => lambda { OpenSSL::Digest::SHA1.new },
|
129
|
+
# SHA 256
|
130
|
+
'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256' => lambda { OpenSSL::Digest::SHA256.new },
|
131
|
+
# GOST R 34.11-94
|
132
|
+
# You need correctly configured gost engine in your system OpenSSL, requires OpenSSL >= 1.0.0
|
133
|
+
# see https://github.com/openssl/openssl/blob/master/engines/ccgost/README.gost
|
134
|
+
'http://www.w3.org/2001/04/xmldsig-more#gostr3411' => lambda {
|
135
|
+
if defined? JRUBY_VERSION
|
136
|
+
OpenSSL::Digest.new('GOST3411')
|
137
|
+
else
|
138
|
+
OpenSSL::Engine.load
|
139
|
+
gost_engine = OpenSSL::Engine.by_id('gost')
|
140
|
+
gost_engine.set_default(0xFFFF)
|
141
|
+
gost_engine.digest('md_gost94')
|
142
|
+
end
|
143
|
+
},
|
144
|
+
}
|
145
|
+
|
146
|
+
# Returns instance of +OpenSSL::Digest+ class, initialized, reset, and ready to calculate new hashes.
|
147
|
+
def digester(url)
|
148
|
+
@digesters ||= {}
|
149
|
+
unless @digesters[url]
|
150
|
+
DIGESTERS[url] or raise InvalidDigest, "Digest algorithm not supported: #{url}"
|
151
|
+
@digesters[url] = DIGESTERS[url].call
|
152
|
+
end
|
153
|
+
@digesters[url].reset
|
154
|
+
end
|
155
|
+
|
86
156
|
end
|
87
157
|
end
|
88
158
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Akami::WSSE::Signature do
|
4
|
+
|
5
|
+
let(:validator) { Akami::WSSE::VerifySignature.new(xml) }
|
6
|
+
let(:xml) { '' }
|
7
|
+
|
8
|
+
let(:fixtures_path) {
|
9
|
+
File.join(Bundler.root, 'spec', 'fixtures', 'akami', 'wsse', 'signature' )
|
10
|
+
}
|
11
|
+
let(:cert_path) { File.join(fixtures_path, 'cert.pem') }
|
12
|
+
let(:password) { 'password' }
|
13
|
+
|
14
|
+
let(:signature) {
|
15
|
+
Akami::WSSE::Signature.new(
|
16
|
+
Akami::WSSE::Certs.new(
|
17
|
+
cert_file: cert_path,
|
18
|
+
private_key_file: cert_path,
|
19
|
+
private_key_password: password
|
20
|
+
)
|
21
|
+
)
|
22
|
+
}
|
23
|
+
|
24
|
+
context 'to_token' do
|
25
|
+
let(:xml) { fixture('akami/wsse/signature/unsigned.xml') }
|
26
|
+
|
27
|
+
it 'should ignore excessive whitespace' do
|
28
|
+
signature.document = xml
|
29
|
+
expect(signature.document).not_to include(" ")
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Akami::WSSE::VerifySignature do
|
4
|
+
|
5
|
+
it 'should validate correctly signed XML messages' do
|
6
|
+
xml = fixture('akami/wsse/verify_signature/valid.xml')
|
7
|
+
validator = described_class.new(xml)
|
8
|
+
validator.verify!.should eq(true)
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should validate correctly signed XML messages with differently named namespaces' do
|
12
|
+
xml = fixture('akami/wsse/verify_signature/valid_namespaces.xml')
|
13
|
+
validator = described_class.new(xml)
|
14
|
+
validator.verify!.should eq(true)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should validate correctly signed XML messages with whitespaces' do
|
18
|
+
xml = fixture('akami/wsse/verify_signature/valid_whitespaces.xml')
|
19
|
+
validator = described_class.new(xml)
|
20
|
+
expect(validator.verify!).to equal(true)
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should not validate signed XML messages with digested content changed' do
|
24
|
+
xml = fixture('akami/wsse/verify_signature/invalid_digested_changed.xml')
|
25
|
+
validator = described_class.new(xml)
|
26
|
+
expect{ validator.verify! }.to raise_error(Akami::WSSE::InvalidSignature)
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'should not validate signed XML messages with digest changed' do
|
30
|
+
xml = fixture('akami/wsse/verify_signature/invalid_digest_changed.xml')
|
31
|
+
validator = described_class.new(xml)
|
32
|
+
expect{ validator.verify! }.to raise_error(Akami::WSSE::InvalidSignature)
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should not validate signed XML messages with signature changed' do
|
36
|
+
xml = fixture('akami/wsse/verify_signature/invalid_signature_changed.xml')
|
37
|
+
validator = described_class.new(xml)
|
38
|
+
expect{ validator.verify! }.to raise_error(Akami::WSSE::InvalidSignature)
|
39
|
+
end
|
40
|
+
|
41
|
+
# There is no testing for messages signed with GOST as it requires patched Ruby
|
42
|
+
# But we can test GOST digest calculation
|
43
|
+
it 'should validate correctly signed XML messages with RSA-SHA1 signature and GOST R 34.11-94 digests' do
|
44
|
+
xml = fixture('akami/wsse/verify_signature/valid_sha1_gost.xml')
|
45
|
+
validator = described_class.new(xml)
|
46
|
+
expect(validator.verify!).to equal(true)
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'should validate correctly signed XML messages with SHA256 signature and SHA256 digests' do
|
50
|
+
xml = fixture('akami/wsse/verify_signature/valid_sha256.xml')
|
51
|
+
validator = described_class.new(xml)
|
52
|
+
expect(validator.verify!).to equal(true)
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
data/spec/akami/wsse_spec.rb
CHANGED
@@ -6,81 +6,86 @@ describe Akami do
|
|
6
6
|
let(:wsse) { Akami.wsse }
|
7
7
|
|
8
8
|
it "contains the namespace for WS Security Secext" do
|
9
|
-
Akami::WSSE::WSE_NAMESPACE.
|
9
|
+
expect(Akami::WSSE::WSE_NAMESPACE).to eq(
|
10
10
|
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
|
11
|
+
)
|
11
12
|
end
|
12
13
|
|
13
14
|
it "contains the namespace for WS Security Utility" do
|
14
|
-
Akami::WSSE::WSU_NAMESPACE.
|
15
|
+
expect(Akami::WSSE::WSU_NAMESPACE).to eq(
|
15
16
|
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
17
|
+
)
|
16
18
|
end
|
17
19
|
|
18
20
|
it "contains the namespace for the PasswordText type" do
|
19
|
-
Akami::WSSE::PASSWORD_TEXT_URI.
|
21
|
+
expect(Akami::WSSE::PASSWORD_TEXT_URI).to eq(
|
20
22
|
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"
|
23
|
+
)
|
21
24
|
end
|
22
25
|
|
23
26
|
it "contains the namespace for the PasswordDigest type" do
|
24
|
-
Akami::WSSE::PASSWORD_DIGEST_URI.
|
27
|
+
expect(Akami::WSSE::PASSWORD_DIGEST_URI).to eq(
|
25
28
|
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest"
|
29
|
+
)
|
26
30
|
end
|
27
31
|
|
28
32
|
it "contains the namespace for Base64 Encoding type" do
|
29
|
-
Akami::WSSE::BASE64_URI.
|
33
|
+
expect(Akami::WSSE::BASE64_URI).to eq(
|
30
34
|
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
|
35
|
+
)
|
31
36
|
end
|
32
37
|
|
33
38
|
describe "#credentials" do
|
34
39
|
it "sets the username" do
|
35
40
|
wsse.credentials "username", "password"
|
36
|
-
wsse.username.
|
41
|
+
expect(wsse.username).to eq("username")
|
37
42
|
end
|
38
43
|
|
39
44
|
it "sets the password" do
|
40
45
|
wsse.credentials "username", "password"
|
41
|
-
wsse.password.
|
46
|
+
expect(wsse.password).to eq("password")
|
42
47
|
end
|
43
48
|
|
44
49
|
it "defaults to set digest to false" do
|
45
50
|
wsse.credentials "username", "password"
|
46
|
-
wsse.
|
51
|
+
expect(wsse).not_to be_digest
|
47
52
|
end
|
48
53
|
|
49
54
|
it "sets digest to true if specified" do
|
50
55
|
wsse.credentials "username", "password", :digest
|
51
|
-
wsse.
|
56
|
+
expect(wsse).to be_digest
|
52
57
|
end
|
53
58
|
end
|
54
59
|
|
55
60
|
describe "#username" do
|
56
61
|
it "sets the username" do
|
57
62
|
wsse.username = "username"
|
58
|
-
wsse.username.
|
63
|
+
expect(wsse.username).to eq("username")
|
59
64
|
end
|
60
65
|
end
|
61
66
|
|
62
67
|
describe "#password" do
|
63
68
|
it "sets the password" do
|
64
69
|
wsse.password = "password"
|
65
|
-
wsse.password.
|
70
|
+
expect(wsse.password).to eq("password")
|
66
71
|
end
|
67
72
|
end
|
68
73
|
|
69
74
|
describe "#digest" do
|
70
75
|
it "defaults to false" do
|
71
|
-
wsse.
|
76
|
+
expect(wsse).not_to be_digest
|
72
77
|
end
|
73
78
|
|
74
79
|
it "specifies whether to use digest auth" do
|
75
80
|
wsse.digest = true
|
76
|
-
wsse.
|
81
|
+
expect(wsse).to be_digest
|
77
82
|
end
|
78
83
|
end
|
79
84
|
|
80
85
|
describe "#to_xml" do
|
81
86
|
context "with no credentials" do
|
82
87
|
it "returns an empty String" do
|
83
|
-
wsse.to_xml.
|
88
|
+
expect(wsse.to_xml).to eq("")
|
84
89
|
end
|
85
90
|
end
|
86
91
|
|
@@ -88,7 +93,7 @@ describe Akami do
|
|
88
93
|
before { wsse.username = "username" }
|
89
94
|
|
90
95
|
it "returns an empty String" do
|
91
|
-
wsse.to_xml.
|
96
|
+
expect(wsse.to_xml).to eq("")
|
92
97
|
end
|
93
98
|
end
|
94
99
|
|
@@ -96,7 +101,7 @@ describe Akami do
|
|
96
101
|
before { wsse.password = "password" }
|
97
102
|
|
98
103
|
it "returns an empty String" do
|
99
|
-
wsse.to_xml.
|
104
|
+
expect(wsse.to_xml).to eq("")
|
100
105
|
end
|
101
106
|
end
|
102
107
|
|
@@ -105,36 +110,36 @@ describe Akami do
|
|
105
110
|
|
106
111
|
it "contains a wsse:Security tag" do
|
107
112
|
namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
|
108
|
-
wsse.to_xml.
|
113
|
+
expect(wsse.to_xml).to include("<wsse:Security xmlns:wsse=\"#{namespace}\">")
|
109
114
|
end
|
110
115
|
|
111
116
|
it "contains a wsu:Id attribute" do
|
112
|
-
wsse.to_xml.
|
117
|
+
expect(wsse.to_xml).to include('<wsse:UsernameToken wsu:Id="UsernameToken-1"')
|
113
118
|
end
|
114
119
|
|
115
120
|
it "increments the wsu:Id attribute count" do
|
116
|
-
wsse.to_xml.
|
117
|
-
wsse.to_xml.
|
121
|
+
expect(wsse.to_xml).to include('<wsse:UsernameToken wsu:Id="UsernameToken-1"')
|
122
|
+
expect(wsse.to_xml).to include('<wsse:UsernameToken wsu:Id="UsernameToken-2"')
|
118
123
|
end
|
119
124
|
|
120
125
|
it "contains the WSE and WSU namespaces" do
|
121
|
-
wsse.to_xml.
|
126
|
+
expect(wsse.to_xml).to include(Akami::WSSE::WSE_NAMESPACE, Akami::WSSE::WSU_NAMESPACE)
|
122
127
|
end
|
123
128
|
|
124
129
|
it "contains the username and password" do
|
125
|
-
wsse.to_xml.
|
130
|
+
expect(wsse.to_xml).to include("username", "password")
|
126
131
|
end
|
127
132
|
|
128
133
|
it "does not contain a wsse:Nonce tag" do
|
129
|
-
wsse.to_xml.
|
134
|
+
expect(wsse.to_xml).not_to match(/<wsse:Nonce.*>.*<\/wsse:Nonce>/)
|
130
135
|
end
|
131
136
|
|
132
137
|
it "does not contain a wsu:Created tag" do
|
133
|
-
wsse.to_xml.
|
138
|
+
expect(wsse.to_xml).not_to match(/<wsu:Created>.*<\/wsu:Created>/)
|
134
139
|
end
|
135
140
|
|
136
141
|
it "contains the PasswordText type attribute" do
|
137
|
-
wsse.to_xml.
|
142
|
+
expect(wsse.to_xml).to include(Akami::WSSE::PASSWORD_TEXT_URI)
|
138
143
|
end
|
139
144
|
end
|
140
145
|
|
@@ -142,30 +147,30 @@ describe Akami do
|
|
142
147
|
before { wsse.credentials "username", "password", :digest }
|
143
148
|
|
144
149
|
it "contains the WSE and WSU namespaces" do
|
145
|
-
wsse.to_xml.
|
150
|
+
expect(wsse.to_xml).to include(Akami::WSSE::WSE_NAMESPACE, Akami::WSSE::WSU_NAMESPACE)
|
146
151
|
end
|
147
152
|
|
148
153
|
it "contains the username" do
|
149
|
-
wsse.to_xml.
|
154
|
+
expect(wsse.to_xml).to include("username")
|
150
155
|
end
|
151
156
|
|
152
157
|
it "does not contain the (original) password" do
|
153
|
-
wsse.to_xml.
|
158
|
+
expect(wsse.to_xml).not_to include("password")
|
154
159
|
end
|
155
160
|
|
156
161
|
it "contains the Nonce base64 type attribute" do
|
157
|
-
wsse.to_xml.
|
162
|
+
expect(wsse.to_xml).to include(Akami::WSSE::BASE64_URI)
|
158
163
|
end
|
159
164
|
|
160
165
|
it "contains a wsu:Created tag" do
|
161
166
|
created_at = Time.now
|
162
167
|
Timecop.freeze created_at do
|
163
|
-
wsse.to_xml.
|
168
|
+
expect(wsse.to_xml).to include("<wsu:Created>#{created_at.utc.xmlschema}</wsu:Created>")
|
164
169
|
end
|
165
170
|
end
|
166
171
|
|
167
172
|
it "contains the PasswordDigest type attribute" do
|
168
|
-
wsse.to_xml.
|
173
|
+
expect(wsse.to_xml).to include(Akami::WSSE::PASSWORD_DIGEST_URI)
|
169
174
|
end
|
170
175
|
|
171
176
|
it "should reset the nonce every time" do
|
@@ -174,7 +179,7 @@ describe Akami do
|
|
174
179
|
nonce_regexp = /<wsse:Nonce.*>([^<]+)<\/wsse:Nonce>/
|
175
180
|
nonce_first = Base64.decode64(nonce_regexp.match(wsse.to_xml)[1])
|
176
181
|
nonce_second = Base64.decode64(nonce_regexp.match(wsse.to_xml)[1])
|
177
|
-
nonce_first.
|
182
|
+
expect(nonce_first).not_to eq(nonce_second)
|
178
183
|
end
|
179
184
|
end
|
180
185
|
|
@@ -184,7 +189,7 @@ describe Akami do
|
|
184
189
|
nonce = Base64.decode64(xml_header.xpath('//Nonce').first.content)
|
185
190
|
created_at = xml_header.xpath('//Created').first.content
|
186
191
|
password_hash = Base64.decode64(xml_header.xpath('//Password').first.content)
|
187
|
-
password_hash.
|
192
|
+
expect(password_hash).to eq(Digest::SHA1.digest((nonce + created_at + "password")))
|
188
193
|
end
|
189
194
|
end
|
190
195
|
|
@@ -192,21 +197,21 @@ describe Akami do
|
|
192
197
|
before { wsse.timestamp = true }
|
193
198
|
|
194
199
|
it "contains a wsse:Timestamp node" do
|
195
|
-
wsse.to_xml.
|
200
|
+
expect(wsse.to_xml).to include('<wsu:Timestamp wsu:Id="Timestamp-1" ' +
|
196
201
|
'xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">')
|
197
202
|
end
|
198
203
|
|
199
204
|
it "contains a wsu:Created node defaulting to Time.now" do
|
200
205
|
created_at = Time.now
|
201
206
|
Timecop.freeze created_at do
|
202
|
-
wsse.to_xml.
|
207
|
+
expect(wsse.to_xml).to include("<wsu:Created>#{created_at.utc.xmlschema}</wsu:Created>")
|
203
208
|
end
|
204
209
|
end
|
205
210
|
|
206
211
|
it "contains a wsu:Expires node defaulting to Time.now + 60 seconds" do
|
207
212
|
created_at = Time.now
|
208
213
|
Timecop.freeze created_at do
|
209
|
-
wsse.to_xml.
|
214
|
+
expect(wsse.to_xml).to include("<wsu:Expires>#{(created_at + 60).utc.xmlschema}</wsu:Expires>")
|
210
215
|
end
|
211
216
|
end
|
212
217
|
end
|
@@ -215,11 +220,11 @@ describe Akami do
|
|
215
220
|
before { wsse.created_at = Time.now + 86400 }
|
216
221
|
|
217
222
|
it "contains a wsu:Created node with the given time" do
|
218
|
-
wsse.to_xml.
|
223
|
+
expect(wsse.to_xml).to include("<wsu:Created>#{wsse.created_at.utc.xmlschema}</wsu:Created>")
|
219
224
|
end
|
220
225
|
|
221
226
|
it "contains a wsu:Expires node set to #created_at + 60 seconds" do
|
222
|
-
wsse.to_xml.
|
227
|
+
expect(wsse.to_xml).to include("<wsu:Expires>#{(wsse.created_at + 60).utc.xmlschema}</wsu:Expires>")
|
223
228
|
end
|
224
229
|
end
|
225
230
|
|
@@ -229,12 +234,12 @@ describe Akami do
|
|
229
234
|
it "contains a wsu:Created node defaulting to Time.now" do
|
230
235
|
created_at = Time.now
|
231
236
|
Timecop.freeze created_at do
|
232
|
-
wsse.to_xml.
|
237
|
+
expect(wsse.to_xml).to include("<wsu:Created>#{created_at.utc.xmlschema}</wsu:Created>")
|
233
238
|
end
|
234
239
|
end
|
235
240
|
|
236
241
|
it "contains a wsu:Expires node set to the given time" do
|
237
|
-
wsse.to_xml.
|
242
|
+
expect(wsse.to_xml).to include("<wsu:Expires>#{wsse.expires_at.utc.xmlschema}</wsu:Expires>")
|
238
243
|
end
|
239
244
|
end
|
240
245
|
|
@@ -245,15 +250,15 @@ describe Akami do
|
|
245
250
|
end
|
246
251
|
|
247
252
|
it "contains a wsu:Created node" do
|
248
|
-
wsse.to_xml.
|
253
|
+
expect(wsse.to_xml).to include("<wsu:Created>")
|
249
254
|
end
|
250
255
|
|
251
256
|
it "contains a wsu:Expires node" do
|
252
|
-
wsse.to_xml.
|
257
|
+
expect(wsse.to_xml).to include("<wsu:Expires>")
|
253
258
|
end
|
254
259
|
|
255
260
|
it "contains the username and password" do
|
256
|
-
wsse.to_xml.
|
261
|
+
expect(wsse.to_xml).to include("username", "password")
|
257
262
|
end
|
258
263
|
end
|
259
264
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDIjCCAougAwIBAgIJAI53JnRgJIJwMA0GCSqGSIb3DQEBBQUAMGoxCzAJBgNV
|
3
|
+
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
|
4
|
+
c2NvMQ4wDAYDVQQKEwVTYXZvbjEOMAwGA1UECxMFU2F2b24xDjAMBgNVBAMTBVNh
|
5
|
+
dm9uMB4XDTE0MTIwMjAwMTMwMloXDTI0MTEyOTAwMTMwMlowajELMAkGA1UEBhMC
|
6
|
+
VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28x
|
7
|
+
DjAMBgNVBAoTBVNhdm9uMQ4wDAYDVQQLEwVTYXZvbjEOMAwGA1UEAxMFU2F2b24w
|
8
|
+
gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM56hKF3+4SSUu8msb5HWMvp322y
|
9
|
+
QL+luJ+Lt/r/ib7EPeb4UU68b+Wf3xIa3N1+w8tDQghCR4YuEIILKH/UGC785Old
|
10
|
+
VJfikD4kxiwF4jB0RgdRK/JEG/UthHKqJID+oyijW4ws4MgZ/bWMhSbSVRioqcwe
|
11
|
+
2JElg/m2TemKJkXDAgMBAAGjgc8wgcwwHQYDVR0OBBYEFKSd+UicrRDQS2NeLSEA
|
12
|
+
Zpipjk8EMIGcBgNVHSMEgZQwgZGAFKSd+UicrRDQS2NeLSEAZpipjk8EoW6kbDBq
|
13
|
+
MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2Fu
|
14
|
+
IEZyYW5jaXNjbzEOMAwGA1UEChMFU2F2b24xDjAMBgNVBAsTBVNhdm9uMQ4wDAYD
|
15
|
+
VQQDEwVTYXZvboIJAI53JnRgJIJwMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEF
|
16
|
+
BQADgYEAWI27+cDx3U53zaJROXKfQutqUZzZz9B0NzQ0vlN2h5UbACGbXH9C1wLz
|
17
|
+
MBvNjgEiK+/jHSadSDgfvADv+2hCsFw8eNgbisWiV5yvDyTqttg3cSJHz8jRDeA+
|
18
|
+
jnvaC9Y//AoRr/WGKKU3FY40J7pQKcQNczGUzCS+ag0IO64agTs=
|
19
|
+
-----END CERTIFICATE-----
|
20
|
+
-----BEGIN RSA PRIVATE KEY-----
|
21
|
+
Proc-Type: 4,ENCRYPTED
|
22
|
+
DEK-Info: DES-EDE3-CBC,A0BF079E41C9A4C1
|
23
|
+
|
24
|
+
rEO5mWOWbnr8uyjtfIRwW9wRo2/y1wMON2c605BkgaNeAKH/++1UC9qEhNtHfE2Q
|
25
|
+
omQkXiHfV6yt3l3dWPcnA9ToT9PRNLyoRMMC+Ds5EuEk4ypihQ8SS2xt3wqCRkwm
|
26
|
+
3/AyrRZXUnBTVzZ9D35lz1HCFfJ61UpOMN9XOZy4yUqDZVG/ybMhXilfNKgTr8xJ
|
27
|
+
StTb7ruwV/8xTiEgmcxGKJbOcDKqwsd/mW3VbDN6zOqYC0TlFc/eiCbJxMd35l6a
|
28
|
+
oRfHWHbabumcfZplqoDcOwYpRb8ZiDbu74RrDogKnpH7nnJrp8jSYueCiXGDWGFG
|
29
|
+
ZXB6f2FhsbrLEM87L8cxJO6Hk6+c39qgiP2aRICeKjUNKPOfSiPr4yP4/g3tFY2z
|
30
|
+
sI9xur3nAXoqxXBrEkEdvXiH35UfJpqOTxbAN+Ozxnj1QeLWDDE8nkMW/XRRxdCk
|
31
|
+
jeUwR5PS3sM2S/fIn7rThQSKRMxznK//cEUsMwz514HekxnKyj8rZUETcFFySxmz
|
32
|
+
lmOzDOaPNejDOgNSrlT+IDqE9YlMxLObv5l960QOjk0qBaO8e33HkgfBqENzq7Uv
|
33
|
+
Wrj3FyBlNz4vfhCZHBY0+rSgdZHM64DV0HybE7yc+mMUwrV7ish1bGb/Bek/4JF+
|
34
|
+
lrpRuxTEQFGNTGFYa0C5zDpz9UtiSUs2X4EX74GfxCUmn7kNND+4OVrndZiEONPz
|
35
|
+
/6QffS7YG1UtahDpDzI1wOCYD9Iwg/HnmTWMcXj2Yw7jRvlG0sArw/5dNJkrmuJY
|
36
|
+
6PvFoEeZSF4qrUCDlw/BUJMaGDlhSCyTWulZZU+wWuJRTWCiDxYO1g==
|
37
|
+
-----END RSA PRIVATE KEY-----
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="https://api.example.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"><wsa:Action>http://api.example.com/echo</wsa:Action><wsa:To>https://api.example.com</wsa:To><wsa:MessageID xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:52d12080-5bec-0132-62fb-38f6b11526bf</wsa:MessageID></env:Header><env:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Body-69182b6fd3cdbaa69e00e0bca6c58f6aee1e0c27"><tns:echo>Example</tns:echo></env:Body></env:Envelope>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://www.w3.org/2005/08/addressing"><soap:Header><oasis:Security xmlns:oasis="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
|
3
|
+
<oasis:BinarySecurityToken ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" wsu:Id="uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1">MIIEZTCCA02gAwIBAgIJALaQmjuYuxpuMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAldXMRIwEAYDVQQIEwlXb3JsZHdpZGUxETAPBgNVBAcTCFhNTCBjaXR5MREwDwYDVQQKEwhTYXZvbi5yYjEhMB8GA1UECxMYQWthbWkgdGVzdGluZyBkZXBhcnRtZW50MRIwEAYDVQQDEwlBa2FtaSBHZW0wHhcNMTQwNjEwMDg1NjEzWhcNMjQwNjA3MDg1NjEzWjB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvjKxq8WnYOT7ymrSNmN95NFMXhLxdumQz0QniRURVQ1P2sOwxOw9mlFnMsdGwsTYUJ9TwwBvA82UAaHEp/mMlHVc0oIKBzMWXj3qK3paRpcooh9hVSGlnqGep+/mzpP9SgPeJRXUgewnnXYsdPkV3k+EFLP/ZwGKOu3lTf4eTNm+TfnW4jHQYg2DpXHXtfV/H2mlDl/p/oUSoUnD3rWrF8IDPTSpy/30KtiY9ijy4RhllbSxM5Y230rpvlty1qqlNI/g34thL15nFaU/aIWQ/KwiCqthldd3m92S9gQ+iY4YtJkxAFsVAWT8gF32pmCKeH5IMmihZqlno6pUG0pIHwIDAQABo4HlMIHiMB0GA1UdDgQWBBQxpPv3f9MSv1y+BoR07lNRWi78ODCBsgYDVR0jBIGqMIGngBQxpPv3f9MSv1y+BoR07lNRWi78OKGBg6SBgDB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtggkAtpCaO5i7Gm4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAZphue2C31+5SpoZiIQav3xtwfIt+PRtK0ZN0w2ZxR1LmbWS9jX4elvwE5B5Yyu4UmjyvXGA6j9s5PGedXMabpi9GWsaEfHRKsF/TrH0KauhPrAWTuc1UxMFM5zPc6LeWJ8ofaVIgg4S4UFnf/fnkc/BtMMDCIyb62HkRmV+FqOOD+LlkcT701VKty68ubCg9xKaLg7L4zZBPYJrt0iLY2LWKh4ABinxfA1DFEVw9PVIEQKopwkO1A10rrKbfZqALQg5egVQypfVJ7E0Nkq5VeT3d3u3ybnZw/ZprQR0uPm+Ap492itLMMUX3iyJkxteAfT+03ztKWEsmGMbZpzG7VA==</oasis:BinarySecurityToken><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI="#_779bc0e70903ff79e62739956a11c7e3584a9012"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>8yHW2c0jdon+CADkxk47/gLo0ps=</DigestValue></Reference><Reference URI="#_747c942c134dd275275707f2cf63e8de7881d367"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>eRsb4CWXD17hl5exQvaZYDnOQOM=</DigestValue></Reference><Reference URI="#_2dc10b4daca971ef4ddb482338ebd7ba30112e2a"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>1aznRVYGR81veFFG2lNU9WjUhDs=</DigestValue></Reference><Reference URI="#_1f546393fdadf04fd9afcf172658c78cfd1b735d"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>KXKU6ZFziN415Hd2K6WevzUihYs=</DigestValue></Reference><Reference URI="#_724554b8920321ee32020dac076be1f58d92d3c7"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>YrKqrE99N7hNGYEvrhifL/LaxKQ=</DigestValue></Reference><Reference URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>VevrJZBe3aVif18GuHIrSZz5my8=</DigestValue></Reference></SignedInfo><SignatureValue>NEJTWOxr2IdWOyV+b1XjRU1Koaa0OYDbz0MqErcqjEgLt3rgK2YyZpg2yMBB++YmlwhS2Gm/Iqnyv6U909hvF4Hg+9/kw/FiwqhavcW+/N9HZKo0vGww/rU4qcKrNdU/lETQhxfk5DpKAoAUWV6yGxnbP8GzTXWGtP4sfLlcFjfOkTnePEM7QLjJLk9l2YkvbmyaRClj3psYrh0Fo1G+LWZ7W8UpaPzoo8e+s2EkKDAbchWoQJp2vEIhLnRRWDMuweRpsURigjbIkJCKnawmZ8SG1nA68nYa9jTh6824XVepxbkvtvNzEFC6dmZAjwAWhADf1+7lpqUyml/wZyHWRw==</SignatureValue><KeyInfo><o:SecurityTokenReference><o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"/></o:SecurityTokenReference></KeyInfo></Signature></oasis:Security><wsa:Action wsu:Id="_779bc0e70903ff79e62739956a11c7e3584a9012">SomeAction</wsa:Action><wsa:To wsu:Id="_747c942c134dd275275707f2cf63e8de7881d367">https://strict.endpoint/path</wsa:To><wsa:ReplyTo wsu:Id="_2dc10b4daca971ef4ddb482338ebd7ba30112e2a"><wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address></wsa:ReplyTo><wsa:MessageID wsu:Id="_1f546393fdadf04fd9afcf172658c78cfd1b735d">SRV-0f687bbd-62503e99-926a4d3c-5dde443c-dbf6d68f</wsa:MessageID></soap:Header><soap:Body wsu:Id="_724554b8920321ee32020dac076be1f58d92d3c7"><messageCode>code</messageCode><!-- Comments should be ignored during canonicalization --><message>message</message></soap:Body></soap:Envelope>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://www.w3.org/2005/08/addressing"><soap:Header><oasis:Security xmlns:oasis="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
|
3
|
+
<oasis:BinarySecurityToken ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" wsu:Id="uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1">MIIEZTCCA02gAwIBAgIJALaQmjuYuxpuMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAldXMRIwEAYDVQQIEwlXb3JsZHdpZGUxETAPBgNVBAcTCFhNTCBjaXR5MREwDwYDVQQKEwhTYXZvbi5yYjEhMB8GA1UECxMYQWthbWkgdGVzdGluZyBkZXBhcnRtZW50MRIwEAYDVQQDEwlBa2FtaSBHZW0wHhcNMTQwNjEwMDg1NjEzWhcNMjQwNjA3MDg1NjEzWjB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvjKxq8WnYOT7ymrSNmN95NFMXhLxdumQz0QniRURVQ1P2sOwxOw9mlFnMsdGwsTYUJ9TwwBvA82UAaHEp/mMlHVc0oIKBzMWXj3qK3paRpcooh9hVSGlnqGep+/mzpP9SgPeJRXUgewnnXYsdPkV3k+EFLP/ZwGKOu3lTf4eTNm+TfnW4jHQYg2DpXHXtfV/H2mlDl/p/oUSoUnD3rWrF8IDPTSpy/30KtiY9ijy4RhllbSxM5Y230rpvlty1qqlNI/g34thL15nFaU/aIWQ/KwiCqthldd3m92S9gQ+iY4YtJkxAFsVAWT8gF32pmCKeH5IMmihZqlno6pUG0pIHwIDAQABo4HlMIHiMB0GA1UdDgQWBBQxpPv3f9MSv1y+BoR07lNRWi78ODCBsgYDVR0jBIGqMIGngBQxpPv3f9MSv1y+BoR07lNRWi78OKGBg6SBgDB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtggkAtpCaO5i7Gm4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAZphue2C31+5SpoZiIQav3xtwfIt+PRtK0ZN0w2ZxR1LmbWS9jX4elvwE5B5Yyu4UmjyvXGA6j9s5PGedXMabpi9GWsaEfHRKsF/TrH0KauhPrAWTuc1UxMFM5zPc6LeWJ8ofaVIgg4S4UFnf/fnkc/BtMMDCIyb62HkRmV+FqOOD+LlkcT701VKty68ubCg9xKaLg7L4zZBPYJrt0iLY2LWKh4ABinxfA1DFEVw9PVIEQKopwkO1A10rrKbfZqALQg5egVQypfVJ7E0Nkq5VeT3d3u3ybnZw/ZprQR0uPm+Ap492itLMMUX3iyJkxteAfT+03ztKWEsmGMbZpzG7VA==</oasis:BinarySecurityToken><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI="#_779bc0e70903ff79e62739956a11c7e3584a9012"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>8yHW2c0jdon+cADkxk47/gLo0ps=</DigestValue></Reference><Reference URI="#_747c942c134dd275275707f2cf63e8de7881d367"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>eRsb4CWXD17hl5exQvaZYDnOQOM=</DigestValue></Reference><Reference URI="#_2dc10b4daca971ef4ddb482338ebd7ba30112e2a"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>1aznRVYGR81veFFG2lNU9WjUhDs=</DigestValue></Reference><Reference URI="#_1f546393fdadf04fd9afcf172658c78cfd1b735d"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>KXKU6ZFziN415Hd2K6WevzUihYs=</DigestValue></Reference><Reference URI="#_724554b8920321ee32020dac076be1f58d92d3c7"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>YrKqrE99N7hNGYEvrhifL/LaxKQ=</DigestValue></Reference><Reference URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>VevrJZBe3aVif18GuHIrSZz5my8=</DigestValue></Reference></SignedInfo><SignatureValue>NEJTWOxr2IdWOyV+b1XjRU1Koaa0OYDbz0MqErcqjEgLt3rgK2YyZpg2yMBB++YmlwhS2Gm/Iqnyv6U909hvF4Hg+9/kw/FiwqhavcW+/N9HZKo0vGww/rU4qcKrNdU/lETQhxfk5DpKAoAUWV6yGxnbP8GzTXWGtP4sfLlcFjfOkTnePEM7QLjJLk9l2YkvbmyaRClj3psYrh0Fo1G+LWZ7W8UpaPzoo8e+s2EkKDAbchWoQJp2vEIhLnRRWDMuweRpsURigjbIkJCKnawmZ8SG1nA68nYa9jTh6824XVepxbkvtvNzEFC6dmZAjwAWhADf1+7lpqUyml/wZyHWRw==</SignatureValue><KeyInfo><o:SecurityTokenReference><o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"/></o:SecurityTokenReference></KeyInfo></Signature></oasis:Security><wsa:Action wsu:Id="_779bc0e70903ff79e62739956a11c7e3584a9012">SomeAction</wsa:Action><wsa:To wsu:Id="_747c942c134dd275275707f2cf63e8de7881d367">https://strict.endpoint/path</wsa:To><wsa:ReplyTo wsu:Id="_2dc10b4daca971ef4ddb482338ebd7ba30112e2a"><wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address></wsa:ReplyTo><wsa:MessageID wsu:Id="_1f546393fdadf04fd9afcf172658c78cfd1b735d">SRV-0f687bbd-62503e99-926a4d3c-5dde443c-dbf6d68f</wsa:MessageID></soap:Header><soap:Body wsu:Id="_724554b8920321ee32020dac076be1f58d92d3c7"><messageCode>code</messageCode><!-- Comments should be ignored during canonicalization --><message>fake_message</message></soap:Body></soap:Envelope>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://www.w3.org/2005/08/addressing"><soap:Header unexpected="unexpected"><oasis:Security xmlns:oasis="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
|
3
|
+
<oasis:BinarySecurityToken ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" wsu:Id="uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1">MIIEZTCCA02gAwIBAgIJALaQmjuYuxpuMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAldXMRIwEAYDVQQIEwlXb3JsZHdpZGUxETAPBgNVBAcTCFhNTCBjaXR5MREwDwYDVQQKEwhTYXZvbi5yYjEhMB8GA1UECxMYQWthbWkgdGVzdGluZyBkZXBhcnRtZW50MRIwEAYDVQQDEwlBa2FtaSBHZW0wHhcNMTQwNjEwMDg1NjEzWhcNMjQwNjA3MDg1NjEzWjB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvjKxq8WnYOT7ymrSNmN95NFMXhLxdumQz0QniRURVQ1P2sOwxOw9mlFnMsdGwsTYUJ9TwwBvA82UAaHEp/mMlHVc0oIKBzMWXj3qK3paRpcooh9hVSGlnqGep+/mzpP9SgPeJRXUgewnnXYsdPkV3k+EFLP/ZwGKOu3lTf4eTNm+TfnW4jHQYg2DpXHXtfV/H2mlDl/p/oUSoUnD3rWrF8IDPTSpy/30KtiY9ijy4RhllbSxM5Y230rpvlty1qqlNI/g34thL15nFaU/aIWQ/KwiCqthldd3m92S9gQ+iY4YtJkxAFsVAWT8gF32pmCKeH5IMmihZqlno6pUG0pIHwIDAQABo4HlMIHiMB0GA1UdDgQWBBQxpPv3f9MSv1y+BoR07lNRWi78ODCBsgYDVR0jBIGqMIGngBQxpPv3f9MSv1y+BoR07lNRWi78OKGBg6SBgDB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtggkAtpCaO5i7Gm4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAZphue2C31+5SpoZiIQav3xtwfIt+PRtK0ZN0w2ZxR1LmbWS9jX4elvwE5B5Yyu4UmjyvXGA6j9s5PGedXMabpi9GWsaEfHRKsF/TrH0KauhPrAWTuc1UxMFM5zPc6LeWJ8ofaVIgg4S4UFnf/fnkc/BtMMDCIyb62HkRmV+FqOOD+LlkcT701VKty68ubCg9xKaLg7L4zZBPYJrt0iLY2LWKh4ABinxfA1DFEVw9PVIEQKopwkO1A10rrKbfZqALQg5egVQypfVJ7E0Nkq5VeT3d3u3ybnZw/ZprQR0uPm+Ap492itLMMUX3iyJkxteAfT+03ztKWEsmGMbZpzG7VA==</oasis:BinarySecurityToken><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI="#_779bc0e70903ff79e62739956a11c7e3584a9012"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>8yHW2c0jdon+cADkxk47/gLo0ps=</DigestValue></Reference><Reference URI="#_747c942c134dd275275707f2cf63e8de7881d367"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>eRsb4CWXD17hl5exQvaZYDnOQOM=</DigestValue></Reference><Reference URI="#_2dc10b4daca971ef4ddb482338ebd7ba30112e2a"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>1aznRVYGR81veFFG2lNU9WjUhDs=</DigestValue></Reference><Reference URI="#_1f546393fdadf04fd9afcf172658c78cfd1b735d"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>KXKU6ZFziN415Hd2K6WevzUihYs=</DigestValue></Reference><Reference URI="#_724554b8920321ee32020dac076be1f58d92d3c7"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>YrKqrE99N7hNGYEvrhifL/LaxKQ=</DigestValue></Reference><Reference URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>VevrJZBe3aVif18GuHIrSZz5my8=</DigestValue></Reference></SignedInfo><SignatureValue>NYETWOxr2IdWOyV+b1XjRU1Koaa0OYDbz0MqErcqjEgLt3rgK2YyZpg2yMBB++YmlwhS2Gm/Iqnyv6U909hvF4Hg+9/kw/FiwqhavcW+/N9HZKo0vGww/rU4qcKrNdU/lETQhxfk5DpKAoAUWV6yGxnbP8GzTXWGtP4sfLlcFjfOkTnePEM7QLjJLk9l2YkvbmyaRClj3psYrh0Fo1G+LWZ7W8UpaPzoo8e+s2EkKDAbchWoQJp2vEIhLnRRWDMuweRpsURigjbIkJCKnawmZ8SG1nA68nYa9jTh6824XVepxbkvtvNzEFC6dmZAjwAWhADf1+7lpqUyml/wZyHWRw==</SignatureValue><KeyInfo><o:SecurityTokenReference><o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"/></o:SecurityTokenReference></KeyInfo></Signature></oasis:Security><wsa:Action wsu:Id="_779bc0e70903ff79e62739956a11c7e3584a9012">SomeAction</wsa:Action><wsa:To wsu:Id="_747c942c134dd275275707f2cf63e8de7881d367">https://strict.endpoint/path</wsa:To><wsa:ReplyTo wsu:Id="_2dc10b4daca971ef4ddb482338ebd7ba30112e2a"><wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address></wsa:ReplyTo><wsa:MessageID wsu:Id="_1f546393fdadf04fd9afcf172658c78cfd1b735d">SRV-0f687bbd-62503e99-926a4d3c-5dde443c-dbf6d68f</wsa:MessageID></soap:Header><soap:Body wsu:Id="_724554b8920321ee32020dac076be1f58d92d3c7"><messageCode>code</messageCode><!-- Comments should be ignored during canonicalization --><message>message</message></soap:Body></soap:Envelope>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://www.w3.org/2005/08/addressing"><soap:Header><oasis:Security xmlns:oasis="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
|
3
|
+
<oasis:BinarySecurityToken ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" wsu:Id="uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1">MIIEZTCCA02gAwIBAgIJALaQmjuYuxpuMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAldXMRIwEAYDVQQIEwlXb3JsZHdpZGUxETAPBgNVBAcTCFhNTCBjaXR5MREwDwYDVQQKEwhTYXZvbi5yYjEhMB8GA1UECxMYQWthbWkgdGVzdGluZyBkZXBhcnRtZW50MRIwEAYDVQQDEwlBa2FtaSBHZW0wHhcNMTQwNjEwMDg1NjEzWhcNMjQwNjA3MDg1NjEzWjB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvjKxq8WnYOT7ymrSNmN95NFMXhLxdumQz0QniRURVQ1P2sOwxOw9mlFnMsdGwsTYUJ9TwwBvA82UAaHEp/mMlHVc0oIKBzMWXj3qK3paRpcooh9hVSGlnqGep+/mzpP9SgPeJRXUgewnnXYsdPkV3k+EFLP/ZwGKOu3lTf4eTNm+TfnW4jHQYg2DpXHXtfV/H2mlDl/p/oUSoUnD3rWrF8IDPTSpy/30KtiY9ijy4RhllbSxM5Y230rpvlty1qqlNI/g34thL15nFaU/aIWQ/KwiCqthldd3m92S9gQ+iY4YtJkxAFsVAWT8gF32pmCKeH5IMmihZqlno6pUG0pIHwIDAQABo4HlMIHiMB0GA1UdDgQWBBQxpPv3f9MSv1y+BoR07lNRWi78ODCBsgYDVR0jBIGqMIGngBQxpPv3f9MSv1y+BoR07lNRWi78OKGBg6SBgDB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtggkAtpCaO5i7Gm4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAZphue2C31+5SpoZiIQav3xtwfIt+PRtK0ZN0w2ZxR1LmbWS9jX4elvwE5B5Yyu4UmjyvXGA6j9s5PGedXMabpi9GWsaEfHRKsF/TrH0KauhPrAWTuc1UxMFM5zPc6LeWJ8ofaVIgg4S4UFnf/fnkc/BtMMDCIyb62HkRmV+FqOOD+LlkcT701VKty68ubCg9xKaLg7L4zZBPYJrt0iLY2LWKh4ABinxfA1DFEVw9PVIEQKopwkO1A10rrKbfZqALQg5egVQypfVJ7E0Nkq5VeT3d3u3ybnZw/ZprQR0uPm+Ap492itLMMUX3iyJkxteAfT+03ztKWEsmGMbZpzG7VA==</oasis:BinarySecurityToken><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI="#_779bc0e70903ff79e62739956a11c7e3584a9012"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>8yHW2c0jdon+cADkxk47/gLo0ps=</DigestValue></Reference><Reference URI="#_747c942c134dd275275707f2cf63e8de7881d367"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>eRsb4CWXD17hl5exQvaZYDnOQOM=</DigestValue></Reference><Reference URI="#_2dc10b4daca971ef4ddb482338ebd7ba30112e2a"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>1aznRVYGR81veFFG2lNU9WjUhDs=</DigestValue></Reference><Reference URI="#_1f546393fdadf04fd9afcf172658c78cfd1b735d"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>KXKU6ZFziN415Hd2K6WevzUihYs=</DigestValue></Reference><Reference URI="#_724554b8920321ee32020dac076be1f58d92d3c7"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>YrKqrE99N7hNGYEvrhifL/LaxKQ=</DigestValue></Reference><Reference URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>VevrJZBe3aVif18GuHIrSZz5my8=</DigestValue></Reference></SignedInfo><SignatureValue>NEJTWOxr2IdWOyV+b1XjRU1Koaa0OYDbz0MqErcqjEgLt3rgK2YyZpg2yMBB++YmlwhS2Gm/Iqnyv6U909hvF4Hg+9/kw/FiwqhavcW+/N9HZKo0vGww/rU4qcKrNdU/lETQhxfk5DpKAoAUWV6yGxnbP8GzTXWGtP4sfLlcFjfOkTnePEM7QLjJLk9l2YkvbmyaRClj3psYrh0Fo1G+LWZ7W8UpaPzoo8e+s2EkKDAbchWoQJp2vEIhLnRRWDMuweRpsURigjbIkJCKnawmZ8SG1nA68nYa9jTh6824XVepxbkvtvNzEFC6dmZAjwAWhADf1+7lpqUyml/wZyHWRw==</SignatureValue><KeyInfo><o:SecurityTokenReference><o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"/></o:SecurityTokenReference></KeyInfo></Signature></oasis:Security><wsa:Action wsu:Id="_779bc0e70903ff79e62739956a11c7e3584a9012">SomeAction</wsa:Action><wsa:To wsu:Id="_747c942c134dd275275707f2cf63e8de7881d367">https://strict.endpoint/path</wsa:To><wsa:ReplyTo wsu:Id="_2dc10b4daca971ef4ddb482338ebd7ba30112e2a"><wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address></wsa:ReplyTo><wsa:MessageID wsu:Id="_1f546393fdadf04fd9afcf172658c78cfd1b735d">SRV-0f687bbd-62503e99-926a4d3c-5dde443c-dbf6d68f</wsa:MessageID></soap:Header><soap:Body wsu:Id="_724554b8920321ee32020dac076be1f58d92d3c7"><messageCode>code</messageCode><!-- Comments should be ignored during canonicalization --><message>message</message></soap:Body></soap:Envelope>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<bzzz:Envelope xmlns:bzzz="http://www.w3.org/2003/05/soap-envelope" xmlns:argh="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:blam="http://www.w3.org/2005/08/addressing"><bzzz:Header><pfff:Security xmlns:pfff="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
|
3
|
+
<pfff:BinarySecurityToken ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" argh:Id="uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1">MIIEZTCCA02gAwIBAgIJALaQmjuYuxpuMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAldXMRIwEAYDVQQIEwlXb3JsZHdpZGUxETAPBgNVBAcTCFhNTCBjaXR5MREwDwYDVQQKEwhTYXZvbi5yYjEhMB8GA1UECxMYQWthbWkgdGVzdGluZyBkZXBhcnRtZW50MRIwEAYDVQQDEwlBa2FtaSBHZW0wHhcNMTQwNjEwMDg1NjEzWhcNMjQwNjA3MDg1NjEzWjB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvjKxq8WnYOT7ymrSNmN95NFMXhLxdumQz0QniRURVQ1P2sOwxOw9mlFnMsdGwsTYUJ9TwwBvA82UAaHEp/mMlHVc0oIKBzMWXj3qK3paRpcooh9hVSGlnqGep+/mzpP9SgPeJRXUgewnnXYsdPkV3k+EFLP/ZwGKOu3lTf4eTNm+TfnW4jHQYg2DpXHXtfV/H2mlDl/p/oUSoUnD3rWrF8IDPTSpy/30KtiY9ijy4RhllbSxM5Y230rpvlty1qqlNI/g34thL15nFaU/aIWQ/KwiCqthldd3m92S9gQ+iY4YtJkxAFsVAWT8gF32pmCKeH5IMmihZqlno6pUG0pIHwIDAQABo4HlMIHiMB0GA1UdDgQWBBQxpPv3f9MSv1y+BoR07lNRWi78ODCBsgYDVR0jBIGqMIGngBQxpPv3f9MSv1y+BoR07lNRWi78OKGBg6SBgDB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtggkAtpCaO5i7Gm4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAZphue2C31+5SpoZiIQav3xtwfIt+PRtK0ZN0w2ZxR1LmbWS9jX4elvwE5B5Yyu4UmjyvXGA6j9s5PGedXMabpi9GWsaEfHRKsF/TrH0KauhPrAWTuc1UxMFM5zPc6LeWJ8ofaVIgg4S4UFnf/fnkc/BtMMDCIyb62HkRmV+FqOOD+LlkcT701VKty68ubCg9xKaLg7L4zZBPYJrt0iLY2LWKh4ABinxfA1DFEVw9PVIEQKopwkO1A10rrKbfZqALQg5egVQypfVJ7E0Nkq5VeT3d3u3ybnZw/ZprQR0uPm+Ap492itLMMUX3iyJkxteAfT+03ztKWEsmGMbZpzG7VA==</pfff:BinarySecurityToken><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI="#_32e8273d0122bb59bb8369e2cd2c3bc4d9f0fd94"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>/qQ8ucFN9UNj/PeYzpqdBaqfbDE=</DigestValue></Reference><Reference URI="#_ae66d576c72c371b63c5cb64f506a7cfbb6523b1"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>zwhy5nIdDYQw+PAtp5xJF37AwKY=</DigestValue></Reference><Reference URI="#_1f38c96249928ef39807ddc3ae7810691e080b3d"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>0ka0+fILJ/K0l+QquJ7oGI5BZ/g=</DigestValue></Reference><Reference URI="#_10cdeece6969bac5d9e6ac8d7d40df9c604781a4"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>JukA7+7mBcqtplGntFoHJ+Fk+jQ=</DigestValue></Reference><Reference URI="#_35c546657feb5dc1cf4474488f7b5d5a991f0604"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>fCQv9hvbeyNBGBrqbJ/A166hSB8=</DigestValue></Reference><Reference URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>5uVUuwPoZPnXoWjo5czBnYIywcA=</DigestValue></Reference></SignedInfo><SignatureValue>BXSWTruDmrWJYwmqqkMDUquD+Q39mOLJ2d2XZ31o/jU0jdaWg4fGwTnAYsIELbDdLBbFj5R9gsMSzw+nprglOtuMyheYuO4EZbwJijeR2n5hoaYAqQdjA4n8tFXiKo+puiKvAsWUDmVqVqSLOUtKCTCxL+NjJavgUjVKwmK3dRgMKcH4RZHTM/qgMT42N7DvSOLbuBbW/hblz74pcc86vDMrMOLrC3z7F18vOFTUpoScZuFf14wes6G+FoS7un7EvLV4Yvjq15VUh7Tczv2qzzkWfUY0So+SujGo+JivULYjJ9UJB+sL6SOrazgYNLXyz1eHHcfraUKHKJVOp4naqg==</SignatureValue><KeyInfo><o:SecurityTokenReference><o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"/></o:SecurityTokenReference></KeyInfo></Signature></pfff:Security><blam:Action argh:Id="_32e8273d0122bb59bb8369e2cd2c3bc4d9f0fd94">SomeAction</blam:Action><blam:To argh:Id="_ae66d576c72c371b63c5cb64f506a7cfbb6523b1">https://strict.endpoint/path</blam:To><blam:ReplyTo argh:Id="_1f38c96249928ef39807ddc3ae7810691e080b3d"><blam:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</blam:Address></blam:ReplyTo><blam:MessageID argh:Id="_10cdeece6969bac5d9e6ac8d7d40df9c604781a4">SRV-0f687bbd-62503e99-926a4d3c-5dde443c-dbf6d68f</blam:MessageID></bzzz:Header><bzzz:Body argh:Id="_35c546657feb5dc1cf4474488f7b5d5a991f0604"><ws:messageCode>code</ws:messageCode><!-- Comments should be ignored during canonicalization --><ws:message>message</ws:message></bzzz:Body></bzzz:Envelope>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://www.w3.org/2005/08/addressing"><soap:Header><oasis:Security xmlns:oasis="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
|
3
|
+
<oasis:BinarySecurityToken ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" wsu:Id="uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1">MIIEZTCCA02gAwIBAgIJALaQmjuYuxpuMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAldXMRIwEAYDVQQIEwlXb3JsZHdpZGUxETAPBgNVBAcTCFhNTCBjaXR5MREwDwYDVQQKEwhTYXZvbi5yYjEhMB8GA1UECxMYQWthbWkgdGVzdGluZyBkZXBhcnRtZW50MRIwEAYDVQQDEwlBa2FtaSBHZW0wHhcNMTQwNjEwMDg1NjEzWhcNMjQwNjA3MDg1NjEzWjB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvjKxq8WnYOT7ymrSNmN95NFMXhLxdumQz0QniRURVQ1P2sOwxOw9mlFnMsdGwsTYUJ9TwwBvA82UAaHEp/mMlHVc0oIKBzMWXj3qK3paRpcooh9hVSGlnqGep+/mzpP9SgPeJRXUgewnnXYsdPkV3k+EFLP/ZwGKOu3lTf4eTNm+TfnW4jHQYg2DpXHXtfV/H2mlDl/p/oUSoUnD3rWrF8IDPTSpy/30KtiY9ijy4RhllbSxM5Y230rpvlty1qqlNI/g34thL15nFaU/aIWQ/KwiCqthldd3m92S9gQ+iY4YtJkxAFsVAWT8gF32pmCKeH5IMmihZqlno6pUG0pIHwIDAQABo4HlMIHiMB0GA1UdDgQWBBQxpPv3f9MSv1y+BoR07lNRWi78ODCBsgYDVR0jBIGqMIGngBQxpPv3f9MSv1y+BoR07lNRWi78OKGBg6SBgDB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtggkAtpCaO5i7Gm4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAZphue2C31+5SpoZiIQav3xtwfIt+PRtK0ZN0w2ZxR1LmbWS9jX4elvwE5B5Yyu4UmjyvXGA6j9s5PGedXMabpi9GWsaEfHRKsF/TrH0KauhPrAWTuc1UxMFM5zPc6LeWJ8ofaVIgg4S4UFnf/fnkc/BtMMDCIyb62HkRmV+FqOOD+LlkcT701VKty68ubCg9xKaLg7L4zZBPYJrt0iLY2LWKh4ABinxfA1DFEVw9PVIEQKopwkO1A10rrKbfZqALQg5egVQypfVJ7E0Nkq5VeT3d3u3ybnZw/ZprQR0uPm+Ap492itLMMUX3iyJkxteAfT+03ztKWEsmGMbZpzG7VA==</oasis:BinarySecurityToken><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI="#_779bc0e70903ff79e62739956a11c7e3584a9012"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/><DigestValue>Ua/7KXhpaT9/zNLttYl7kWc6zxrssuvI9FopvNyl/hs=</DigestValue></Reference><Reference URI="#_747c942c134dd275275707f2cf63e8de7881d367"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/><DigestValue>0tk2wqp+ybAP16lhi/7Rrvl3B7+/sOLDmX1jev5ZMdM=</DigestValue></Reference><Reference URI="#_2dc10b4daca971ef4ddb482338ebd7ba30112e2a"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/><DigestValue>WI8rWnflY+PhigG807yZijyET1K8iBLMdX4KOgWoEjU=</DigestValue></Reference><Reference URI="#_1f546393fdadf04fd9afcf172658c78cfd1b735d"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/><DigestValue>rvdJaIekkEvD7QImJX7nMevmVQN5B3xW5ZExpyoMdN0=</DigestValue></Reference><Reference URI="#_724554b8920321ee32020dac076be1f58d92d3c7"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/><DigestValue>3OkHjVwY6I/pj8hKhOzKfPOdBjAFcjCzM6IsRJpbQEU=</DigestValue></Reference><Reference URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/><DigestValue>zTmupwEL0lMuPyQlc9qx9+R+SOuIA8zwAqOA0qnXI1g=</DigestValue></Reference></SignedInfo><SignatureValue>TFqPZHrnQuN8QdquaMSG4uKkijaXmsNa1bikQ5z5JTrfGsOHaAZc/+a/jIo5Gd+m7eF1O22rtk8lm1MPmDaRXBc71uQ5yJ+qefCShfYua/gb9y24Cowoh6ONf+WymVJ1fi/H2DjmZ1T1lRq3KoqTlv7tk34t1Ta2hjFv0buBO039woXfNflbFNsfvzlTRgMeZiDC5tMGe7tmlAdll3eD/R1lGCMgRHY6KraSeksWwNVPewDyqc26nv7/R6a4VJ5E7UvDAgSi/pvy37QROiFSt59ONSM1PPaGE18U0A6Q6kH4o6JM6+bqa5jKCThLqf3yyDRKha5Co+A7s/OerJuA0A==</SignatureValue><KeyInfo><o:SecurityTokenReference><o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"/></o:SecurityTokenReference></KeyInfo></Signature></oasis:Security><wsa:Action wsu:Id="_779bc0e70903ff79e62739956a11c7e3584a9012">SomeAction</wsa:Action><wsa:To wsu:Id="_747c942c134dd275275707f2cf63e8de7881d367">https://strict.endpoint/path</wsa:To><wsa:ReplyTo wsu:Id="_2dc10b4daca971ef4ddb482338ebd7ba30112e2a"><wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address></wsa:ReplyTo><wsa:MessageID wsu:Id="_1f546393fdadf04fd9afcf172658c78cfd1b735d">SRV-0f687bbd-62503e99-926a4d3c-5dde443c-dbf6d68f</wsa:MessageID></soap:Header><soap:Body wsu:Id="_724554b8920321ee32020dac076be1f58d92d3c7"><messageCode>code</messageCode><!-- Comments should be ignored during canonicalization --><message>message</message></soap:Body></soap:Envelope>
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://www.w3.org/2005/08/addressing"><soap:Header><oasis:Security xmlns:oasis="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
|
3
|
+
<oasis:BinarySecurityToken ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" wsu:Id="uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1">MIIEZTCCA02gAwIBAgIJALaQmjuYuxpuMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAldXMRIwEAYDVQQIEwlXb3JsZHdpZGUxETAPBgNVBAcTCFhNTCBjaXR5MREwDwYDVQQKEwhTYXZvbi5yYjEhMB8GA1UECxMYQWthbWkgdGVzdGluZyBkZXBhcnRtZW50MRIwEAYDVQQDEwlBa2FtaSBHZW0wHhcNMTQwNjEwMDg1NjEzWhcNMjQwNjA3MDg1NjEzWjB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvjKxq8WnYOT7ymrSNmN95NFMXhLxdumQz0QniRURVQ1P2sOwxOw9mlFnMsdGwsTYUJ9TwwBvA82UAaHEp/mMlHVc0oIKBzMWXj3qK3paRpcooh9hVSGlnqGep+/mzpP9SgPeJRXUgewnnXYsdPkV3k+EFLP/ZwGKOu3lTf4eTNm+TfnW4jHQYg2DpXHXtfV/H2mlDl/p/oUSoUnD3rWrF8IDPTSpy/30KtiY9ijy4RhllbSxM5Y230rpvlty1qqlNI/g34thL15nFaU/aIWQ/KwiCqthldd3m92S9gQ+iY4YtJkxAFsVAWT8gF32pmCKeH5IMmihZqlno6pUG0pIHwIDAQABo4HlMIHiMB0GA1UdDgQWBBQxpPv3f9MSv1y+BoR07lNRWi78ODCBsgYDVR0jBIGqMIGngBQxpPv3f9MSv1y+BoR07lNRWi78OKGBg6SBgDB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtggkAtpCaO5i7Gm4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAZphue2C31+5SpoZiIQav3xtwfIt+PRtK0ZN0w2ZxR1LmbWS9jX4elvwE5B5Yyu4UmjyvXGA6j9s5PGedXMabpi9GWsaEfHRKsF/TrH0KauhPrAWTuc1UxMFM5zPc6LeWJ8ofaVIgg4S4UFnf/fnkc/BtMMDCIyb62HkRmV+FqOOD+LlkcT701VKty68ubCg9xKaLg7L4zZBPYJrt0iLY2LWKh4ABinxfA1DFEVw9PVIEQKopwkO1A10rrKbfZqALQg5egVQypfVJ7E0Nkq5VeT3d3u3ybnZw/ZprQR0uPm+Ap492itLMMUX3iyJkxteAfT+03ztKWEsmGMbZpzG7VA==</oasis:BinarySecurityToken><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><Reference URI="#_779bc0e70903ff79e62739956a11c7e3584a9012"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><DigestValue>5kMYzrEfrLHK1wquUdWVF9ZxWLWh1p3AUi55JEcEpwA=</DigestValue></Reference><Reference URI="#_747c942c134dd275275707f2cf63e8de7881d367"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><DigestValue>kXFE39LW1LZapv8qvvwDI1aAYGvpIyJJt5tfwFHpWLM=</DigestValue></Reference><Reference URI="#_2dc10b4daca971ef4ddb482338ebd7ba30112e2a"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><DigestValue>bd5OjPsMDJpwQV1Y3F4fFd3aAdV73cBYkpqu/R/ywPs=</DigestValue></Reference><Reference URI="#_1f546393fdadf04fd9afcf172658c78cfd1b735d"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><DigestValue>EsMzDJn7KGXHPwFqTGiaa8E17Wp67tFomVdODtNmKQ4=</DigestValue></Reference><Reference URI="#_724554b8920321ee32020dac076be1f58d92d3c7"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><DigestValue>5gEEiIwYC1zy99DExX+YRXD1Sv8+xVgGPeyDQjMPddU=</DigestValue></Reference><Reference URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><DigestValue>U+JTJP1qMZnzGV7bhlQ7y4D/aeYO2ajghskz4mjFNwI=</DigestValue></Reference></SignedInfo><SignatureValue>Fh+YPbR+D1DQcEvdlYn2krKGI445VKRW75mNtIm/n10k0QoAwL+BQ49cnc81UTzZBB1bs22Y6wDGFYwLXMhGa3YioGoyo0IqnCacIDuaNn1OjUVWGDheEl8wTvKIHPDMEhkb6XFLXokLjv/IXdoNq7g7sbhoPd8Qcx8CKYU3aDq1oyiCrtPbowDf4YEBsKxMkZbR4jXzjUmhNI3A82bzTweQLrkxgB/DmtyPHLXF/jitdzKqpKM/K7+4BVWuuKcOFIKYcN3gn4lTXPCVXfCiwhVhIogW+mmC5mjmglKP80hSUBn5csKLbFB8pHtBDcfO9PPV1NoaUtgOwdWGEKqI3w==</SignatureValue><KeyInfo><o:SecurityTokenReference><o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"/></o:SecurityTokenReference></KeyInfo></Signature></oasis:Security><wsa:Action wsu:Id="_779bc0e70903ff79e62739956a11c7e3584a9012">SomeAction</wsa:Action><wsa:To wsu:Id="_747c942c134dd275275707f2cf63e8de7881d367">https://strict.endpoint/path</wsa:To><wsa:ReplyTo wsu:Id="_2dc10b4daca971ef4ddb482338ebd7ba30112e2a"><wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address></wsa:ReplyTo><wsa:MessageID wsu:Id="_1f546393fdadf04fd9afcf172658c78cfd1b735d">SRV-0f687bbd-62503e99-926a4d3c-5dde443c-dbf6d68f</wsa:MessageID></soap:Header><soap:Body wsu:Id="_724554b8920321ee32020dac076be1f58d92d3c7"><messageCode>code</messageCode><!-- Comments should be ignored during canonicalization --><message>message</message></soap:Body></soap:Envelope>
|
@@ -0,0 +1,75 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://www.w3.org/2005/08/addressing">
|
3
|
+
<soap:Header>
|
4
|
+
<oasis:Security xmlns:oasis="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
|
5
|
+
<oasis:BinarySecurityToken ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" wsu:Id="uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1">MIIEZTCCA02gAwIBAgIJALaQmjuYuxpuMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAldXMRIwEAYDVQQIEwlXb3JsZHdpZGUxETAPBgNVBAcTCFhNTCBjaXR5MREwDwYDVQQKEwhTYXZvbi5yYjEhMB8GA1UECxMYQWthbWkgdGVzdGluZyBkZXBhcnRtZW50MRIwEAYDVQQDEwlBa2FtaSBHZW0wHhcNMTQwNjEwMDg1NjEzWhcNMjQwNjA3MDg1NjEzWjB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvjKxq8WnYOT7ymrSNmN95NFMXhLxdumQz0QniRURVQ1P2sOwxOw9mlFnMsdGwsTYUJ9TwwBvA82UAaHEp/mMlHVc0oIKBzMWXj3qK3paRpcooh9hVSGlnqGep+/mzpP9SgPeJRXUgewnnXYsdPkV3k+EFLP/ZwGKOu3lTf4eTNm+TfnW4jHQYg2DpXHXtfV/H2mlDl/p/oUSoUnD3rWrF8IDPTSpy/30KtiY9ijy4RhllbSxM5Y230rpvlty1qqlNI/g34thL15nFaU/aIWQ/KwiCqthldd3m92S9gQ+iY4YtJkxAFsVAWT8gF32pmCKeH5IMmihZqlno6pUG0pIHwIDAQABo4HlMIHiMB0GA1UdDgQWBBQxpPv3f9MSv1y+BoR07lNRWi78ODCBsgYDVR0jBIGqMIGngBQxpPv3f9MSv1y+BoR07lNRWi78OKGBg6SBgDB+MQswCQYDVQQGEwJXVzESMBAGA1UECBMJV29ybGR3aWRlMREwDwYDVQQHEwhYTUwgY2l0eTERMA8GA1UEChMIU2F2b24ucmIxITAfBgNVBAsTGEFrYW1pIHRlc3RpbmcgZGVwYXJ0bWVudDESMBAGA1UEAxMJQWthbWkgR2VtggkAtpCaO5i7Gm4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAZphue2C31+5SpoZiIQav3xtwfIt+PRtK0ZN0w2ZxR1LmbWS9jX4elvwE5B5Yyu4UmjyvXGA6j9s5PGedXMabpi9GWsaEfHRKsF/TrH0KauhPrAWTuc1UxMFM5zPc6LeWJ8ofaVIgg4S4UFnf/fnkc/BtMMDCIyb62HkRmV+FqOOD+LlkcT701VKty68ubCg9xKaLg7L4zZBPYJrt0iLY2LWKh4ABinxfA1DFEVw9PVIEQKopwkO1A10rrKbfZqALQg5egVQypfVJ7E0Nkq5VeT3d3u3ybnZw/ZprQR0uPm+Ap492itLMMUX3iyJkxteAfT+03ztKWEsmGMbZpzG7VA==</oasis:BinarySecurityToken>
|
6
|
+
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
|
7
|
+
<SignedInfo>
|
8
|
+
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
|
9
|
+
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
|
10
|
+
<Reference URI="#_779bc0e70903ff79e62739956a11c7e3584a9012">
|
11
|
+
<Transforms>
|
12
|
+
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
|
13
|
+
</Transforms>
|
14
|
+
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
|
15
|
+
<DigestValue>8yHW2c0jdon+cADkxk47/gLo0ps=</DigestValue>
|
16
|
+
</Reference>
|
17
|
+
<Reference URI="#_747c942c134dd275275707f2cf63e8de7881d367">
|
18
|
+
<Transforms>
|
19
|
+
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
|
20
|
+
</Transforms>
|
21
|
+
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
|
22
|
+
<DigestValue>eRsb4CWXD17hl5exQvaZYDnOQOM=</DigestValue>
|
23
|
+
</Reference>
|
24
|
+
<Reference URI="#_2dc10b4daca971ef4ddb482338ebd7ba30112e2a">
|
25
|
+
<Transforms>
|
26
|
+
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
|
27
|
+
</Transforms>
|
28
|
+
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
|
29
|
+
<DigestValue>1aznRVYGR81veFFG2lNU9WjUhDs=</DigestValue>
|
30
|
+
</Reference>
|
31
|
+
<Reference URI="#_1f546393fdadf04fd9afcf172658c78cfd1b735d">
|
32
|
+
<Transforms>
|
33
|
+
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
|
34
|
+
</Transforms>
|
35
|
+
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
|
36
|
+
<DigestValue>KXKU6ZFziN415Hd2K6WevzUihYs=</DigestValue>
|
37
|
+
</Reference>
|
38
|
+
<Reference URI="#_724554b8920321ee32020dac076be1f58d92d3c7">
|
39
|
+
<Transforms>
|
40
|
+
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
|
41
|
+
</Transforms>
|
42
|
+
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
|
43
|
+
<DigestValue>YrKqrE99N7hNGYEvrhifL/LaxKQ=</DigestValue>
|
44
|
+
</Reference>
|
45
|
+
<Reference URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1">
|
46
|
+
<Transforms>
|
47
|
+
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
|
48
|
+
</Transforms>
|
49
|
+
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
|
50
|
+
<DigestValue>VevrJZBe3aVif18GuHIrSZz5my8=</DigestValue>
|
51
|
+
</Reference>
|
52
|
+
</SignedInfo>
|
53
|
+
<SignatureValue>
|
54
|
+
NEJTWOxr2IdWOyV+b1XjRU1Koaa0OYDbz0MqErcqjEgLt3rgK2YyZpg2yMBB++YmlwhS2Gm/Iqnyv6U909hvF4Hg+9/kw/FiwqhavcW+/N9HZKo0vGww/rU4qcKrNdU/lETQhxfk5DpKAoAUWV6yGxnbP8GzTXWGtP4sfLlcFjfOkTnePEM7QLjJLk9l2YkvbmyaRClj3psYrh0Fo1G+LWZ7W8UpaPzoo8e+s2EkKDAbchWoQJp2vEIhLnRRWDMuweRpsURigjbIkJCKnawmZ8SG1nA68nYa9jTh6824XVepxbkvtvNzEFC6dmZAjwAWhADf1+7lpqUyml/wZyHWRw==
|
55
|
+
</SignatureValue>
|
56
|
+
<KeyInfo>
|
57
|
+
<o:SecurityTokenReference>
|
58
|
+
<o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" URI="#uuid-639b8970-7644-4f9e-9bc4-9c2e367808fc-1"/>
|
59
|
+
</o:SecurityTokenReference>
|
60
|
+
</KeyInfo>
|
61
|
+
</Signature>
|
62
|
+
</oasis:Security>
|
63
|
+
<wsa:Action wsu:Id="_779bc0e70903ff79e62739956a11c7e3584a9012">SomeAction</wsa:Action>
|
64
|
+
<wsa:To wsu:Id="_747c942c134dd275275707f2cf63e8de7881d367">https://strict.endpoint/path</wsa:To>
|
65
|
+
<wsa:ReplyTo wsu:Id="_2dc10b4daca971ef4ddb482338ebd7ba30112e2a">
|
66
|
+
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
|
67
|
+
</wsa:ReplyTo>
|
68
|
+
<wsa:MessageID wsu:Id="_1f546393fdadf04fd9afcf172658c78cfd1b735d">SRV-0f687bbd-62503e99-926a4d3c-5dde443c-dbf6d68f</wsa:MessageID>
|
69
|
+
</soap:Header>
|
70
|
+
<soap:Body wsu:Id="_724554b8920321ee32020dac076be1f58d92d3c7">
|
71
|
+
<messageCode>code</messageCode>
|
72
|
+
<!-- Comments should be ignored during canonicalization -->
|
73
|
+
<message>message</message>
|
74
|
+
</soap:Body>
|
75
|
+
</soap:Envelope>
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,97 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: akami
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Harrington
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gyoku
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 0.4.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.4.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: nokogiri
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '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
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '10.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '10.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '2.
|
61
|
+
version: '2.14'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '2.
|
68
|
+
version: '2.14'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: mocha
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0.13'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0.13'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: timecop
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0.5'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0.5'
|
97
97
|
description: Building Web Service Security
|
@@ -101,9 +101,9 @@ executables: []
|
|
101
101
|
extensions: []
|
102
102
|
extra_rdoc_files: []
|
103
103
|
files:
|
104
|
-
- .gitignore
|
105
|
-
- .rspec
|
106
|
-
- .travis.yml
|
104
|
+
- ".gitignore"
|
105
|
+
- ".rspec"
|
106
|
+
- ".travis.yml"
|
107
107
|
- CHANGELOG.md
|
108
108
|
- Gemfile
|
109
109
|
- LICENSE
|
@@ -119,7 +119,19 @@ files:
|
|
119
119
|
- lib/akami/wsse/signature.rb
|
120
120
|
- lib/akami/wsse/verify_signature.rb
|
121
121
|
- lib/akami/xpath_helper.rb
|
122
|
+
- spec/akami/wsse/signature_spec.rb
|
123
|
+
- spec/akami/wsse/verify_signature_spec.rb
|
122
124
|
- spec/akami/wsse_spec.rb
|
125
|
+
- spec/fixtures/akami/wsse/signature/cert.pem
|
126
|
+
- spec/fixtures/akami/wsse/signature/unsigned.xml
|
127
|
+
- spec/fixtures/akami/wsse/verify_signature/invalid_digest_changed.xml
|
128
|
+
- spec/fixtures/akami/wsse/verify_signature/invalid_digested_changed.xml
|
129
|
+
- spec/fixtures/akami/wsse/verify_signature/invalid_signature_changed.xml
|
130
|
+
- spec/fixtures/akami/wsse/verify_signature/valid.xml
|
131
|
+
- spec/fixtures/akami/wsse/verify_signature/valid_namespaces.xml
|
132
|
+
- spec/fixtures/akami/wsse/verify_signature/valid_sha1_gost.xml
|
133
|
+
- spec/fixtures/akami/wsse/verify_signature/valid_sha256.xml
|
134
|
+
- spec/fixtures/akami/wsse/verify_signature/valid_whitespaces.xml
|
123
135
|
- spec/spec_helper.rb
|
124
136
|
homepage: https://github.com/savonrb/akami
|
125
137
|
licenses:
|
@@ -131,20 +143,32 @@ require_paths:
|
|
131
143
|
- lib
|
132
144
|
required_ruby_version: !ruby/object:Gem::Requirement
|
133
145
|
requirements:
|
134
|
-
- -
|
146
|
+
- - ">="
|
135
147
|
- !ruby/object:Gem::Version
|
136
|
-
version:
|
148
|
+
version: 1.9.2
|
137
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
138
150
|
requirements:
|
139
|
-
- -
|
151
|
+
- - ">="
|
140
152
|
- !ruby/object:Gem::Version
|
141
153
|
version: '0'
|
142
154
|
requirements: []
|
143
155
|
rubyforge_project: akami
|
144
|
-
rubygems_version: 2.
|
156
|
+
rubygems_version: 2.2.2
|
145
157
|
signing_key:
|
146
158
|
specification_version: 4
|
147
159
|
summary: Web Service Security
|
148
160
|
test_files:
|
161
|
+
- spec/akami/wsse/signature_spec.rb
|
162
|
+
- spec/akami/wsse/verify_signature_spec.rb
|
149
163
|
- spec/akami/wsse_spec.rb
|
164
|
+
- spec/fixtures/akami/wsse/signature/cert.pem
|
165
|
+
- spec/fixtures/akami/wsse/signature/unsigned.xml
|
166
|
+
- spec/fixtures/akami/wsse/verify_signature/invalid_digest_changed.xml
|
167
|
+
- spec/fixtures/akami/wsse/verify_signature/invalid_digested_changed.xml
|
168
|
+
- spec/fixtures/akami/wsse/verify_signature/invalid_signature_changed.xml
|
169
|
+
- spec/fixtures/akami/wsse/verify_signature/valid.xml
|
170
|
+
- spec/fixtures/akami/wsse/verify_signature/valid_namespaces.xml
|
171
|
+
- spec/fixtures/akami/wsse/verify_signature/valid_sha1_gost.xml
|
172
|
+
- spec/fixtures/akami/wsse/verify_signature/valid_sha256.xml
|
173
|
+
- spec/fixtures/akami/wsse/verify_signature/valid_whitespaces.xml
|
150
174
|
- spec/spec_helper.rb
|