Test the RSA-SHA1 signature method.

This commit is contained in:
laserlemon 2010-10-13 10:07:18 -04:00
parent 644b8bb2fe
commit d05bed55d2
2 changed files with 29 additions and 29 deletions

View file

@ -1,27 +1,16 @@
-----BEGIN RSA PRIVATE KEY----- -----BEGIN PRIVATE KEY-----
MIIEogIBAAKCAQEA2jIkb36vr5SYN0bvwfQeAKvjLr52zCsolZLyhLwwwDFVdYhS MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALRiMLAh9iimur8V
Cd7P4rd/AzFliX1SgcEzgQ6SIujVfB5o8SKXVxpL/6YGZ4bq4WN7HTVHjR2giadB A7qVvdqxevEuUkW4K+2KdMXmnQbG9Aa7k7eBjK1S+0LYmVjPKlJGNXHDGuy5Fw/d
JE5cFnzzaXxMEn+N50bDX7bC53aoy+GDLw4Q+fUfpxZzv0zjNWaqowwnW+amF0aM 7rjVJ0BLB+ubPK8iA/Tw3hLQgXMRRGRXXCn8ikfuQfjUS1uZSatdLB81mydBETlJ
dbS/DMcNOhlHoNQw8IYA/h1n/RseGf43sAxuwXap6UA12RzPO5us1zi7JK4OdyZf hI6GH4twrbDJCR2Bwy/XWXgqgGRzAgMBAAECgYBYWVtleUzavkbrPjy0T5FMou8H
fWZHUnAy2T6LFb6ROIkOvy3radxOlneRzxRNWB/COBgXdOQ+1TOIkwd15uv3IIWR X9u2AC2ry8vD/l7cqedtwMPp9k7TubgNFo+NGvKsl2ynyprOZR1xjQ7WgrgVB+mm
bPPGlfrmRp73PuYGPEyBaVFb6QKgiMEwYFUB+wIBIwKCAQB2cv3WIDN8kn6EaFZE uScOM/5HVceFuGRDhYTCObE+y1kxRloNYXnx3ei1zbeYLPCHdhxRYW7T0qcynNmw
t7iEBYn0zct2Jg63mOoNirthBNae45o/31roygMe/Y7kPLfCx/djUQ2AqkgBjNnh rn05/KO2RLjgQNalsQJBANeA3Q4Nugqy4QBUCEC09SqylT2K9FrrItqL2QKc9v0Z
/NXQMtjMm/TZHVrvYeO/ZhDmNKebLujZMdo4F/HaLYhh0DcXJmoPYzaa6KTGcxtU zO2uwllCbg0dwpVuYPYXYvikNHHg+aCWF+VXsb9rpPsCQQDWR9TT4ORdzoj+Nccn
DvNF3NarKXIIw1bFN7u3mOIqkiYMm/yS8TB6wjcFVzTmTaoXvym30P7CdJmo1SfA qkMsDmzt0EfNaAOwHOmVJ2RVBspPcxt5iN4HI7HNeG6U5YsFBb+/GZbgfBT3kpNG
hg5joxLwYhfhqK2d45AsCIf6ofaF9QpII4JzQfmO0/SLiyuMo6QcWeUyLcl+/8gL WPTpAkBI+gFhjfJvRw38n3g/+UeAkwMI2TJQS4n8+hid0uus3/zOjDySH3XHCUno
zr8erLCdg8Y2qjQWC2OG03w2qlL6F4taifpvW8qD0izf/F8lMQHVBvOMfoDnAxbA cn1xOJAyZODBo47E+67R4jV1/gzbAkEAklJaspRPXP877NssM5nAZMU0/O/NGCZ+
TiUbAoGBAPhPnAASLpNUG9X9rzKJ8/NG4yNLBnSBfeWQh9RxAwpKPkqrFVitYRZB 3jPgDUno6WbJn5cqm8MqWhW1xGkImgRk+fkDBquiq4gPiT898jusgQJAd5Zrr6Q8
N+OqYiKYjBNsqHeQJ07O2kw3/XKt2NwDrdObn4k6N+NTgnuXl2FdQjGmLdUTvrys AO/0isr/3aa6O6NLQxISLKcPDk2NOccAfS/xOtfOz4sJYM3+Bs4Io9+dZGSDCA54
8hhClLQQGA9V0F//NGjHvt3wL9++agInl7NvLnnL//FWgdxRsQejAoGBAODzzpKz Lw03eHTNQghS0A==
KDC7lkslGkfabB9H/1r0sOhLTSr0I6DBcMM48QZ14fSMC7yGsx3pMquIi9aadyXU -----END PRIVATE KEY-----
Jfq8vg1xuqbFKLXTd+Rol/HgrmPfv5g8rzsTM6mKtCYXZT0oEYMUt0jQcbq6pMTv
YuFR8UJxFFkMTM4TkGxJS/kMu1X0fQG53iHJAoGBAIbMIXxhpEFZi3QqoO+Mt6FS
XgvYRVUwWklrt3NTSssSXFRrgJ3adohsjA3gJqUQ+5WEIPBy04KNjHKEy2oj3B+q
Ocqk8DSNUYoIwy0maB7pe7SNaVZpzfFlMvc6FjXc2dxwac22bOhsbu2CYyGwgrC2
aEt23rclmZGj/VpYO4fNAoGBANqGcOZHo2KKV3wyq9DFjZq6+A82170V8zEKa8C7
6eI3UInu23/YgG3/MagHG0eL9Y6krkIBSXc7AcPq0pNgcLChimjaojtsjCaBlYyS
uNpNKt82SJoIGTQYS4amaOel6tKmrrCuCEiYvnsOw08whR/1v38ioZLZKwMKwpP2
YsG7AoGAJvdkMO773z84hLYhZlFSSGVt0Asdxlnf8SNu8WX1XFiw50IwVFwYdg0l
ICfih91vOnfZb2zByS+bQxj70h62xAkeIlVqef9FI2giUujS5ZGVQ9+kTk4elBk0
kmzssqjPyyIqS7vTV6qW6g4ftzweXR2LIoqSt2XO4rXn89OZFgc=
-----END RSA PRIVATE KEY-----

View file

@ -84,7 +84,7 @@ class SimpleOAuthTest < Test::Unit::TestCase
# Using the RSA-SHA1 signature method, the consumer secret must be a valid # Using the RSA-SHA1 signature method, the consumer secret must be a valid
# RSA private key. When parsing the header on the server side, the same # RSA private key. When parsing the header on the server side, the same
# consumer secret must be included in order for the header to validate. # consumer secret must be included in order for the header to validate.
secrets = {:consumer_secret => File.read('test/rsa_private_key').to_s} secrets = {:consumer_secret => File.read('test/rsa_private_key')}
header = SimpleOAuth::Header.new(:get, 'https://api.twitter.com/1/statuses/friends.json', {}, secrets.merge(:signature_method => 'RSA-SHA1')) header = SimpleOAuth::Header.new(:get, 'https://api.twitter.com/1/statuses/friends.json', {}, secrets.merge(:signature_method => 'RSA-SHA1'))
parsed_header = SimpleOAuth::Header.new(:get, 'https://api.twitter.com/1/statuses/friends.json', {}, header) parsed_header = SimpleOAuth::Header.new(:get, 'https://api.twitter.com/1/statuses/friends.json', {}, header)
assert_raise(TypeError){ parsed_header.valid? } assert_raise(TypeError){ parsed_header.valid? }
@ -258,7 +258,18 @@ class SimpleOAuthTest < Test::Unit::TestCase
end end
def test_rsa_sha1_signature def test_rsa_sha1_signature
# Pending # Sample request taken from:
# http://wiki.oauth.net/TestCases
options = {
:consumer_key => 'dpf43f3p2l4k3l03',
:consumer_secret => File.read('test/rsa_private_key'),
:nonce => '13917289812797014437',
:signature_method => 'RSA-SHA1',
:timestamp => '1196666512'
}
successful = 'OAuth oauth_consumer_key="dpf43f3p2l4k3l03", oauth_nonce="13917289812797014437", oauth_signature="jvTp%2FwX1TYtByB1m%2BPbyo0lnCOLIsyGCH7wke8AUs3BpnwZJtAuEJkvQL2%2F9n4s5wUmUl4aCI4BwpraNx4RtEXMe5qg5T1LVTGliMRpKasKsW%2F%2Fe%2BRinhejgCuzoH26dyF8iY2ZZ%2F5D1ilgeijhV%2FvBka5twt399mXwaYdCwFYE%3D", oauth_signature_method="RSA-SHA1", oauth_timestamp="1196666512", oauth_version="1.0"'
header = SimpleOAuth::Header.new(:get, 'http://photos.example.net/photos', {:file => 'vacaction.jpg', :size => 'original'}, options)
assert_equal successful, header.to_s
end end
def test_private_key def test_private_key