From d05bed55d2c3b97f460c394abefdd2ecfaececb0 Mon Sep 17 00:00:00 2001 From: laserlemon Date: Wed, 13 Oct 2010 10:07:18 -0400 Subject: [PATCH] Test the RSA-SHA1 signature method. --- test/rsa_private_key | 43 +++++++++++++++------------------------ test/simple_oauth_test.rb | 15 ++++++++++++-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/test/rsa_private_key b/test/rsa_private_key index 0d77f24..e0f5542 100644 --- a/test/rsa_private_key +++ b/test/rsa_private_key @@ -1,27 +1,16 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEogIBAAKCAQEA2jIkb36vr5SYN0bvwfQeAKvjLr52zCsolZLyhLwwwDFVdYhS -Cd7P4rd/AzFliX1SgcEzgQ6SIujVfB5o8SKXVxpL/6YGZ4bq4WN7HTVHjR2giadB -JE5cFnzzaXxMEn+N50bDX7bC53aoy+GDLw4Q+fUfpxZzv0zjNWaqowwnW+amF0aM -dbS/DMcNOhlHoNQw8IYA/h1n/RseGf43sAxuwXap6UA12RzPO5us1zi7JK4OdyZf -fWZHUnAy2T6LFb6ROIkOvy3radxOlneRzxRNWB/COBgXdOQ+1TOIkwd15uv3IIWR -bPPGlfrmRp73PuYGPEyBaVFb6QKgiMEwYFUB+wIBIwKCAQB2cv3WIDN8kn6EaFZE -t7iEBYn0zct2Jg63mOoNirthBNae45o/31roygMe/Y7kPLfCx/djUQ2AqkgBjNnh -/NXQMtjMm/TZHVrvYeO/ZhDmNKebLujZMdo4F/HaLYhh0DcXJmoPYzaa6KTGcxtU -DvNF3NarKXIIw1bFN7u3mOIqkiYMm/yS8TB6wjcFVzTmTaoXvym30P7CdJmo1SfA -hg5joxLwYhfhqK2d45AsCIf6ofaF9QpII4JzQfmO0/SLiyuMo6QcWeUyLcl+/8gL -zr8erLCdg8Y2qjQWC2OG03w2qlL6F4taifpvW8qD0izf/F8lMQHVBvOMfoDnAxbA -TiUbAoGBAPhPnAASLpNUG9X9rzKJ8/NG4yNLBnSBfeWQh9RxAwpKPkqrFVitYRZB -N+OqYiKYjBNsqHeQJ07O2kw3/XKt2NwDrdObn4k6N+NTgnuXl2FdQjGmLdUTvrys -8hhClLQQGA9V0F//NGjHvt3wL9++agInl7NvLnnL//FWgdxRsQejAoGBAODzzpKz -KDC7lkslGkfabB9H/1r0sOhLTSr0I6DBcMM48QZ14fSMC7yGsx3pMquIi9aadyXU -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----- +-----BEGIN PRIVATE KEY----- +MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALRiMLAh9iimur8V +A7qVvdqxevEuUkW4K+2KdMXmnQbG9Aa7k7eBjK1S+0LYmVjPKlJGNXHDGuy5Fw/d +7rjVJ0BLB+ubPK8iA/Tw3hLQgXMRRGRXXCn8ikfuQfjUS1uZSatdLB81mydBETlJ +hI6GH4twrbDJCR2Bwy/XWXgqgGRzAgMBAAECgYBYWVtleUzavkbrPjy0T5FMou8H +X9u2AC2ry8vD/l7cqedtwMPp9k7TubgNFo+NGvKsl2ynyprOZR1xjQ7WgrgVB+mm +uScOM/5HVceFuGRDhYTCObE+y1kxRloNYXnx3ei1zbeYLPCHdhxRYW7T0qcynNmw +rn05/KO2RLjgQNalsQJBANeA3Q4Nugqy4QBUCEC09SqylT2K9FrrItqL2QKc9v0Z +zO2uwllCbg0dwpVuYPYXYvikNHHg+aCWF+VXsb9rpPsCQQDWR9TT4ORdzoj+Nccn +qkMsDmzt0EfNaAOwHOmVJ2RVBspPcxt5iN4HI7HNeG6U5YsFBb+/GZbgfBT3kpNG +WPTpAkBI+gFhjfJvRw38n3g/+UeAkwMI2TJQS4n8+hid0uus3/zOjDySH3XHCUno +cn1xOJAyZODBo47E+67R4jV1/gzbAkEAklJaspRPXP877NssM5nAZMU0/O/NGCZ+ +3jPgDUno6WbJn5cqm8MqWhW1xGkImgRk+fkDBquiq4gPiT898jusgQJAd5Zrr6Q8 +AO/0isr/3aa6O6NLQxISLKcPDk2NOccAfS/xOtfOz4sJYM3+Bs4Io9+dZGSDCA54 +Lw03eHTNQghS0A== +-----END PRIVATE KEY----- \ No newline at end of file diff --git a/test/simple_oauth_test.rb b/test/simple_oauth_test.rb index 8374736..9727cf8 100644 --- a/test/simple_oauth_test.rb +++ b/test/simple_oauth_test.rb @@ -84,7 +84,7 @@ class SimpleOAuthTest < Test::Unit::TestCase # 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 # 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')) parsed_header = SimpleOAuth::Header.new(:get, 'https://api.twitter.com/1/statuses/friends.json', {}, header) assert_raise(TypeError){ parsed_header.valid? } @@ -258,7 +258,18 @@ class SimpleOAuthTest < Test::Unit::TestCase end 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 def test_private_key