akami 1.2.2 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|