iragsdale / rubydkim Goto Github PK
View Code? Open in Web Editor NEWRuby gem for creating & verifying DKIM signatures
License: GNU General Public License v2.0
Ruby gem for creating & verifying DKIM signatures
License: GNU General Public License v2.0
It shouldn't allow feeding more data after finish - that would clearly be an error
Haven't been able to track this one down (not enough C experience, unfortunately).
Running on Ruby1.9, Linux (CentOS and Ubuntu), pushing roughly 5000 emails a minute. My memory usage goes from 29M to 300M in roughly 3 hours. I'd have to completely kill the process and restart it to work around this.
Hi,
The following two commands work good -- when I'm testing dkimproxy and rubydkim separately:
( dkimproxy-sign --selector=sel --domain=example.com < mail.txt; cat mail.txt ) | dkimproxy-verify
originator address: [email protected]
signature identity: @example.com
verify result: pass
sender policy result: accept
author policy result: accept
ADSP policy result: accept
dkim_sign.rb example.com sel private.key < mail.txt | dkim_verify.rb
signature: sel._domainkey.example.com passed? true
#<DKIM::Signature:0xb73e56b8 @verify_status=3, @querymethod=0, @canon_body=0, @Version=1, @headernames="Content-Type:Mime-Version:Subject:To:Reply-To:From:Date", @Domain="example.com", @canon_headers=0, @bodylength=-1, @verify_ext_status=0, @selector="sel", @algo=0>
But when I try to mix them, mail can't be verified:
dkim_sign.rb example.com sel private.key < mail.txt | dkimproxy-verify
originator address: someone@
signature identity: @example.com
verify result: fail (message has been altered)
sender policy result: neutral
author policy result: neutral
ADSP policy result: neutral
( dkimproxy-sign --selector=sel --domain=example.com < mail.txt ; cat mail.txt ) | dkim_verify.rb
signature: sel._domainkey.example.com passed? false
#<DKIM::Signature:0xb74388a4 @verify_status=2, @querymethod=0, @canon_body=0, @Version=1, @headernames="date:from:reply-to:to:subject:mime-version:content-type", @Domain="example.com", @canon_headers=0, @bodylength=-1, @verify_ext_status=1, @selector="sel", @algo=1>
It should be possible to specify canonicalization as some mail servers may modify messages. Currently default canonicalizatio is set to "simple" which prevents message from being delivered in these cases.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.