[pyOpenSSL] quick question, converting a small (two lines) of Ruby (OpenSSL) to PyOpenSSL
aaron smith
beingthexemplarylists at gmail.com
Tue Aug 25 21:48:19 CEST 2009
Thanks for the reply. Ultimately what I'm trying to accomplish is
creating a software license key.
The full ruby example is this:
def make_license(product_code, name, copies)
sign_dss1 = OpenSSL::Digest::DSS1.new
priv = OpenSSL::PKey::DSA.new(File.read("lib/dsa_priv.pem"))
b32 = Base32.encode(priv.sign(sign_dss1,
make_license_source(product_code, name)))
# Replace Os with 8s and Is with 9s
# See http://members.shaw.ca/akochoi-old/blog/2004/11-07/index.html
b32.gsub!(/O/, '8')
b32.gsub!(/I/, '9')
# chop off trailing padding
b32.delete("=").scan(/.{1,5}/).join("-")
end
def make_license_source(product_code, name)
product_code + "," + name
end
I think what this is doing is creating a new dsa from a private one,
the file (lib/dsa_priv.pem). It converts it to base 32, and adds in
some dashes (-). Which ultimately gives me something like:
"GAWAE-FDWN3-BJHHK-KBGLL-D5SF7-6KHNP-7RWSE-C2FAC-CRR32-QB76K-T3F22-MZFGQ-LV4XA-7X423-6QJY"
On Tue, Aug 25, 2009 at 9:13 AM, Rick Dean<rick at fdd.com> wrote:
>
> The automated test cases are a good place to look for
> examples. It's a directory named "test" in the pyOpenSSL
> sources.
>
> Some comments about what you are trying to accomplish
> would be useful. I don't know the Ruby API and you
> didn't link to it's docs.
>
> Are you trying to create a DSA certificate? Is "test" the
> common name of the subject for the new certificate being
> created? If so, you need a bunch more stuff than those three
> lines. I attached an example.
>
> --
> Rick
>
>
> On Mon, Aug 24, 2009 at 10:21:02PM -0700, aaron smith wrote:
>> I'm trying to convert a small snippet of ruby code that handles some
>> ssl stuff for me..
>>
>> The Ruby code is this:
>>
>> sign_dss1 = OpenSSL::Digest::DSS1.new
>> priv = OpenSSL::PKey::DSA.new(File.read("lib/dsa_priv.pem"))
>> priv.sign(sign_dss1, "test" )
>>
>> This is somewhat contrived, but this all i'm trying to convert. The
>> docs for pyOpenSSL don't explain that much, so I'm not even sure where
>> to look.
>>
>> Thanks for your help!
>> -A
>>
>> ------------------------------------------------------------------------------
>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
>> trial. Simplify your report design, integration and deployment - and focus on
>> what you do best, core application coding. Discover what's new with
>> Crystal Reports now. http://p.sf.net/sfu/bobj-july
>> _______________________________________________
>> pyopenssl-list mailing list
>> pyopenssl-list at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/pyopenssl-list
>
>
More information about the pyopenssl-users
mailing list