summaryrefslogtreecommitdiff
path: root/pipermail/pycrypto/attachments/20110821/dc133a09/attachment.html
diff options
context:
space:
mode:
Diffstat (limited to 'pipermail/pycrypto/attachments/20110821/dc133a09/attachment.html')
-rw-r--r--pipermail/pycrypto/attachments/20110821/dc133a09/attachment.html9
1 files changed, 9 insertions, 0 deletions
diff --git a/pipermail/pycrypto/attachments/20110821/dc133a09/attachment.html b/pipermail/pycrypto/attachments/20110821/dc133a09/attachment.html
new file mode 100644
index 0000000..b1a9c43
--- /dev/null
+++ b/pipermail/pycrypto/attachments/20110821/dc133a09/attachment.html
@@ -0,0 +1,9 @@
+<tt>
+Hi,&nbsp;I&amp;#39;m&nbsp;trying&nbsp;to&nbsp;generate&nbsp;signatures&nbsp;in&nbsp;a&nbsp;way&nbsp;openssl&nbsp;can&nbsp;verify&nbsp;using&nbsp;pycrypto,&nbsp;but&nbsp;when&nbsp;I&nbsp;decode&nbsp;it&nbsp;with&nbsp;openssl,&nbsp;it&nbsp;doesn&amp;#39;t&nbsp;produce&nbsp;usable&nbsp;results.&nbsp;This&nbsp;has&nbsp;been&nbsp;my&nbsp;workflow&nbsp;so&nbsp;far:&lt;br&gt;&lt;br&gt;------------------------------------&lt;br&gt;<br>
+&lt;br&gt;openssl&nbsp;genrsa&nbsp;-out&nbsp;privkey.pem&nbsp;2048&lt;br&gt;openssl&nbsp;rsa&nbsp;-pubout&nbsp;-in&nbsp;privkey.pem&nbsp;-out&nbsp;pubkey.pem&lt;br&gt;&lt;br&gt;echo&nbsp;&amp;quot;message&nbsp;text&amp;quot;&nbsp;&amp;gt;&nbsp;data&lt;br&gt;&lt;br&gt;python&nbsp;&amp;lt;&amp;lt;!&lt;br&gt;#!/usr/bin/env&nbsp;python&lt;br&gt;&lt;br&gt;from&nbsp;Crypto.PublicKey&nbsp;import&nbsp;RSA&lt;br&gt;<br>
+import&nbsp;Crypto.Random&lt;br&gt;from&nbsp;Crypto.Util&nbsp;import&nbsp;number&lt;br&gt;import&nbsp;sys,ctypes&lt;br&gt;&lt;br&gt;def&nbsp;make_OPENSSL_PKCS1_padding(k,msglen):&lt;br&gt;   &nbsp;if&nbsp;msglen&nbsp;&amp;gt;&nbsp;k&nbsp;-&nbsp;11:&lt;br&gt;       &nbsp;return&nbsp;None&lt;br&gt;   &nbsp;PS&nbsp;=&nbsp;&amp;#39;\xff&amp;#39;*&nbsp;(k-msglen-3)&lt;br&gt;<br>
+   &nbsp;E&nbsp;=&nbsp;&amp;#39;&amp;#39;.join((chr(0x00),&nbsp;chr(0x01),&nbsp;PS,&nbsp;chr(0x00)))&lt;br&gt;&lt;br&gt;   &nbsp;return&nbsp;E&lt;br&gt;&lt;br&gt;prk&nbsp;=&nbsp;RSA.importKey(file(&amp;#39;privkey.pem&amp;#39;).read())&lt;br&gt;&lt;br&gt;data&nbsp;=&nbsp;file(&amp;#39;data&amp;#39;).read()&lt;br&gt;E&nbsp;=&nbsp;make_OPENSSL_PKCS1_padding((prk.size()+1)/8,len(data))&lt;br&gt;<br>
+EM&nbsp;=&nbsp;&amp;#39;&amp;#39;.join((E,data))&lt;br&gt;&lt;br&gt;sigout&nbsp;=&nbsp;prk.sign(EM,&amp;#39;&amp;#39;)&lt;br&gt;&lt;br&gt;f&nbsp;=&nbsp;open(&amp;#39;signature&amp;#39;,&amp;#39;wb&amp;#39;)&lt;br&gt;f.write(number.long_to_bytes(sigout[0]))&lt;br&gt;f.close()&lt;br&gt;!&lt;br&gt;&lt;br&gt;openssl&nbsp;rsautl&nbsp;-verify&nbsp;-raw&nbsp;-pubin&nbsp;-inkey&nbsp;pubkey.pem&nbsp;-in&nbsp;signature&nbsp;-out&nbsp;de_signature&lt;br&gt;<br>
+&lt;br&gt;cat&nbsp;de_signature&lt;br&gt;&lt;br&gt;------------------&lt;br&gt;&lt;br&gt;I&nbsp;expect&nbsp;to&nbsp;see&nbsp;a&nbsp;whole&nbsp;bunch&nbsp;of&nbsp;0xFFs&nbsp;followed&nbsp;by&nbsp;&amp;quot;message&nbsp;text&amp;quot;&nbsp;when&nbsp;I&nbsp;cat&nbsp;de_signature,&nbsp;but&nbsp;that&amp;#39;s&nbsp;not&nbsp;what&nbsp;I&nbsp;get&nbsp;at&nbsp;all.&nbsp;Any&nbsp;idea&nbsp;what&nbsp;I&nbsp;might&nbsp;be&nbsp;doing&nbsp;wrong&nbsp;here?&lt;br&gt;<br>
+
+</tt>