Do not alter public key while generating digest

This commit is contained in:
Martin Lensment 2015-03-05 16:40:17 +02:00
parent 1d28a414aa
commit 81db8e53d7
2 changed files with 21 additions and 15 deletions

View file

@ -85,9 +85,9 @@ class Dnskey < ActiveRecord::Base
end end
def generate_ds_key_tag def generate_ds_key_tag
public_key.gsub!(' ', '') pk = public_key.gsub(' ', '')
wire_format = [flags, protocol, alg].pack('S!>CC') wire_format = [flags, protocol, alg].pack('S!>CC')
wire_format += Base64.decode64(public_key) wire_format += Base64.decode64(pk)
c = 0 c = 0
wire_format.each_byte.with_index do |b, i| wire_format.each_byte.with_index do |b, i|

View file

@ -61,7 +61,8 @@ describe Dnskey do
d = Fabricate(:domain, name: 'emta.ee', dnskeys: [@dnskey]) d = Fabricate(:domain, name: 'emta.ee', dnskeys: [@dnskey])
dk = d.dnskeys.last dk = d.dnskeys.last
dk.public_key = 'AwEAAfB9jK8rj/FAdE3t9bYXiTLpelwlgUyxbHEtvMvhdxs+yHv0h9fE '\
pk = 'AwEAAfB9jK8rj/FAdE3t9bYXiTLpelwlgUyxbHEtvMvhdxs+yHv0h9fE '\
'710u94LPAeVmXumT6SZPsoo+ALKdmTexkcU9DGQvb2+sPfModBKM/num '\ '710u94LPAeVmXumT6SZPsoo+ALKdmTexkcU9DGQvb2+sPfModBKM/num '\
'rScUw1FBe3HwRa9SqQpgpnCjIt0kEVKHAQdLOP86YznSA9uHAg9TTJuT '\ 'rScUw1FBe3HwRa9SqQpgpnCjIt0kEVKHAQdLOP86YznSA9uHAg9TTJuT '\
'LkUtgtmwNAVFr6/mG+smE1v5NbxPccsFwVTA/T1IyaI4Z48VGCP2WNro '\ 'LkUtgtmwNAVFr6/mG+smE1v5NbxPccsFwVTA/T1IyaI4Z48VGCP2WNro '\
@ -74,9 +75,14 @@ describe Dnskey do
'DshX4yJPjza/bqo0XV4WHj1szDFHe0tLN7g1Ojwtf5FR0zyHU3FN9uUa '\ 'DshX4yJPjza/bqo0XV4WHj1szDFHe0tLN7g1Ojwtf5FR0zyHU3FN9uUa '\
'y8a+dowd/fqOQA1jXR04g2PIfFYe0VudCEpmxSV9YDoqjghHeIKUX7Jn '\ 'y8a+dowd/fqOQA1jXR04g2PIfFYe0VudCEpmxSV9YDoqjghHeIKUX7Jn '\
'KiHL5gk404S5a/Bv' 'KiHL5gk404S5a/Bv'
dk.public_key = pk
dk.save dk.save
dk.ds_digest.should == 'D7045D3C2EF7332409A132D935C8E2834A2AAB769B35BC370FA68C9445398288' dk.ds_digest.should == 'D7045D3C2EF7332409A132D935C8E2834A2AAB769B35BC370FA68C9445398288'
dk.ds_key_tag.should == '31051' dk.ds_key_tag.should == '31051'
dk.public_key.should == pk
end end
end end
end end