From 2f5ec3d7c48672db184ce115d5f0e10b64292a4a Mon Sep 17 00:00:00 2001 From: ilya Date: Fri, 9 Jul 2010 19:17:07 -0400 Subject: [PATCH] added a bunch of public keys to test ring --- app/models/post.rb | 14 +++++--------- gpg/diaspora-test/pubring.gpg | Bin 608 -> 37206 bytes gpg/diaspora-test/random_seed | Bin 600 -> 600 bytes gpg/diaspora-test/trustdb.gpg | Bin 1360 -> 1360 bytes spec/user_encryption_spec.rb | 34 ++++++++++++++++++++++------------ 5 files changed, 27 insertions(+), 21 deletions(-) diff --git a/app/models/post.rb b/app/models/post.rb index 425c6c199..ae6d11af3 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -46,16 +46,12 @@ class Post before_save :sign_if_mine key :owner_signature, String def verify_signature - validity = true - signed_text = GPGME.verify(){ |signature| - if signature.validity == GPGME::VALIDITY_FULL - validity = validity && true - else - validity = validity && false - end + return false unless owner_signature && person.key_fingerprint + GPGME.verify(owner_signature){ |signature| + return signature.validity == GPGME::VALIDITY_FULL + #validity = validity && person.key_fingerprint == signature.fpr } - validity = validity && (signed_text == to_xml.to_s) - validity + #validity = validity && (signed_text == to_xml.to_s) end protected def sign_if_mine diff --git a/gpg/diaspora-test/pubring.gpg b/gpg/diaspora-test/pubring.gpg index 33ce2b7d97c572c0cda9d3d5af95e178ec1ea429..da64a4ec3f9cf91f82d9b3fcf051ac2b773926ca 100644 GIT binary patch literal 37206 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 +;R5JV686ptI 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%0Amk4oMNmj}&*_c{o>6jXpSWN8W9|sP2Ic(dC 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 F{T~5T*gyaP delta 8 Pcmcb%i0J{#h6E-65_AJ` diff --git a/gpg/diaspora-test/random_seed b/gpg/diaspora-test/random_seed index bf240de5179db612deaa37991110b80cc901d49b..6239b704b74d098aa5ee333cbec250c905e1d2ac 100644 GIT binary patch literal 600 zcmV-e0;l~=O)A8ID6ATxtAmSS(_%KU(o)!VP11!2RE;^lAS*yT8Uq!##KPK2+ zs)203)C1-3NXjv0chJmOZwT zwNgi~xziUD#{nl%Ag#HSiGo-y`(klt%W1YVHnuBGe?x7-pcMF;vzYZENw|a}PDTt7 z!C)@UWbEX9<(_$_@+88IYBs`M5(Ufa6+_ZTQN-_-cDkymuB{29^m0Wv7rFKIHByXJ$)`(CVccChJYQC-g zZWkPAyr5$)MT`0!MlV2us-y+QETej5UY8i5X$mV11NU2RpTo~Aq(5H=`ZdmkxV3O@qc z5(jtBHY8h%Gs`N6ZYPtcXB6$I+8=|4Luvoz-wlk%UBtSH7j}Uz)I23$xPE@dOonb! zC<^nd6^W^^3|rv1l`Mw45i|Xo8iN}Z@ZW0t7Z%NA0a}AZab1iZ=ja&n5WntU#7Cu{ zl*n+iQ85F%5nY-?M64yNsi+Z?_XH;}@*XXQ03i zU@}MSF=PAnhTpsfg~TOxLM?)<4>;OooAr<8*>8S!13CPQB%1>={O4#dkrCCLWS3Lq zNmbra6sL^U&maQQ8^1lDtUUMIS=Kmr*fbxvqwqiT?=giKp)y*yVExZ>hDh_4nxqUb z9`8CFc4lZ59fHy-MHayLQzF(b0jD!%QTe0Dj)TN_;~tt(u7*1YmSN?zO)zAw)j6&w msfPJ)JW5l1<1i5re3lGzU@PD+5E!zf*I2A4j0t4>3h7Stc^dox diff --git a/gpg/diaspora-test/trustdb.gpg b/gpg/diaspora-test/trustdb.gpg index 5a8d5b32514d9f23108ec7a185b4da49de21cef0..f52c08a1d1246168f675f3b46571116dc1be3da8 100644 GIT binary patch delta 28 jcmcb>b%9HOF})z2nVFH5k%581$9(yb%9HOF})z2nVFH5k%581$EYA(oV%Y|q diff --git a/spec/user_encryption_spec.rb b/spec/user_encryption_spec.rb index 4298cb785..ad841d22b 100644 --- a/spec/user_encryption_spec.rb +++ b/spec/user_encryption_spec.rb @@ -5,17 +5,13 @@ describe 'user encryption' do #ctx = GPGME::Ctx.new #keys = ctx.keys #keys.each{|k| ctx.delete_key(k, true)} - @u = User.new - @u.email = "george@aol.com" - @u.password = "bluepin7" - @u.password_confirmation = "bluepin7" - @u.url = "www.example.com" - @u.profile = Profile.new( :first_name => "Bob", :last_name => "Smith" ) - @u.profile.save + + end + before do + @u = Factory.create(:user) @u.send(:assign_key) @u.save end - # after :all do #gpgdir = File.expand_path("../../db/gpg-#{Rails.env}", __FILE__) #ctx = GPGME::Ctx.new @@ -30,9 +26,23 @@ describe 'user encryption' do it 'should retrieve a user key' do @u.key.subkeys[0].fpr.should == @u.key_fingerprint end - - it 'should sign a message' do - message = Factory.create(:status_message, :person => @u) - message.verify_signature.should == true + describe 'signing and verifying' do + + it 'should sign a message on create' do + message = Factory.create(:status_message, :person => @u) + message.verify_signature.should be true + end + + it 'should not be able to verify a message from a person without a key' do + person = Factory.create(:person) + message = Factory.create(:status_message, :person => person) + message.verify_signature.should be false + end + + it 'should know if the signature is from the wrong person' do + pending + my_message = Factory.create( + end + end end