sslp should be empty, except for windows. (Actually, that could be expressed more simply but hopefully it's clear enough this way?)
Thanks, -- Raul On Sat, Sep 6, 2014 at 1:55 PM, 'Pascal Jasmin' via Programming <programm...@jsoftware.com> wrote: > with that info, I've changed 2 lines on wiki: > sslp =: IFWIN pick ''; '/',~ jpath '~bin' NB. with J802. cut this line if > you wish to point to downloaded folder > OPENSSL =: sslp , (IFIOS + (;: 'Win Linux Android Darwin') i. <UNAME_z_) pick > 'libeay32.dll '; (2 $ <'libssl.so.1.0.0 '), (2 $ <'/usr/lib/libssl.dylib ') > > > > ----- Original Message ----- > From: bill lam <bbill....@gmail.com> > To: programm...@jsoftware.com > Cc: > Sent: Saturday, September 6, 2014 1:44 PM > Subject: Re: [Jprogramming] md5 is not md5 > > This is multi-arch. if we just use the bare file name, > > OPENSSL=: 'libssl.so.1.0.0' > > it will work on 32-bit and 64-bit, and also > works for 32-bit process on 64-bit host. > > should also works on raspi even the prefix would be > /lib/arm-linux-gnueabihf/ > > all J8 addons use this scheme for shared objects. > > Сб, 06 сен 2014, Raul Miller написал(а): >> This works on that machine: >> >> OPENSSL=: '/lib/x86_64-linux-gnu/libssl.so.1.0.0' >> sslSha256 =: (IFWIN {:: ' SHA256 > + x *c x *c';'SHA256 > x *c x >> *c') ssl NB. SHA256 i *c l *c' ssl >> s256=: 3 : 0 >> sslSha256 (y);(#y);md=. 32#' ' >> md >> ) >> hexhash =: ( [: ,@:hfd a.i.])@: >> >> s256 hexhash 'The quick brown fox jumps over the lazy dog' >> d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592 >> >> However, if I try >> OPENSSL=:'libssl.so' >> sslSha256 =: (IFWIN {:: ' SHA256 > + x *c x *c';'SHA256 > x *c x >> *c') ssl NB. SHA256 i *c l *c' ssl >> s256 hexhash 'The quick brown fox jumps over the lazy dog' >> |domain error: cd >> >> Similarly: >> OPENSSL=:'/usr/lib/libssl.so' >> sslSha256 =: (IFWIN {:: ' SHA256 > + x *c x *c';'SHA256 > x *c x >> *c') ssl NB. SHA256 i *c l *c' ssl >> s256 hexhash 'The quick brown fox jumps over the lazy dog' >> |domain error: cd >> >> Speaking more generally, the motivation behind having the very >> specific /lib/x86_64-linux-gnu/libssl.so.1.0.0 is so that the 64 bit >> code and the 32 bit code can coexist, and the reason for not >> supporting the more generic /usr/lib/libssl.so is so that there's a >> clean separation between these two mechanisms. It's a bit ugly, but so >> is the underlying cpu architecture. >> >> Thanks, >> >> -- >> Raul >> >> >> On Sat, Sep 6, 2014 at 12:49 PM, 'Pascal Jasmin' via Programming >> <programm...@jsoftware.com> wrote: >> > sorry about domain error, fixed on wiki, changing line to: >> > >> > OPENSSL =: sslp , (IFIOS + (;: 'Win Linux Android Darwin') i. <UNAME_z_) >> > pick 'libeay32.dll '; (2 $ <'libssl.so '), (2 $ <'libssl.dylib ') >> > >> > basically, OPENSSL should be set to: (based on your distribution) >> > >> > OPENSSL >> > /lib/x86_64-linux-gnu/libssl.so.1.0.0 >> > >> > my understanding of linux is that libssl.so will find the latest version. >> > No idea how standard '/lib/x86_64-linux-gnu/' is, but that is what you >> > want assigned in the sslp =: line. Perhaps you want to also add an IF64 >> > line for your other system >> > >> > >> > ----- Original Message ----- >> > From: Raul Miller <rauldmil...@gmail.com> >> > To: Programming forum <programm...@jsoftware.com> >> > Cc: >> > Sent: Saturday, September 6, 2014 12:12 PM >> > Subject: Re: [Jprogramming] md5 is not md5 >> > >> > IFIOS >> > 0 >> > UNAME_z_ >> > Linux >> > sslp =: IFWIN pick '/usr/lib/';'D:\OpenSSL-Win64\bin\' >> > sslp >> > /usr/lib/ >> > >> > Looking closer, I'm thinking you probably want >> > /lib/x86_64-linux-gnu/libssl.so.1.0.0 rather than /usr/lib/libssl.so >> > (which does not exist). >> > >> > That said, the domain error is because you are trying to compute this >> > result: >> > >> > '/usr/lib/',2$<'libssl.so' >> > >> > Thanks, >> > >> > -- >> > Raul >> > >> > On Sat, Sep 6, 2014 at 12:02 PM, 'Pascal Jasmin' via Programming >> > <programm...@jsoftware.com> wrote: >> >> what is sslp defined as? >> >> >> >> Is it possible IFIOS is not defined? or less likely UNAME_z_? >> >> >> >> >> >> ----- Original Message ----- >> >> From: Raul Miller <rauldmil...@gmail.com> >> >> To: Programming forum <programm...@jsoftware.com> >> >> Cc: >> >> Sent: Saturday, September 6, 2014 11:57 AM >> >> Subject: Re: [Jprogramming] md5 is not md5 >> >> >> >> Here's what happens if I use that code and only extract hexhash from >> >> the top (instead of simply incorporating both blocks of code): >> >> >> >> s256 hexhash 'The quick brown fox jumps over the lazy dog' >> >> |value error: sslSha256 >> >> | sslSha256(y);(#y);md=.32#' ' >> >> >> >> So, ok, what's wrong with sslSha256? >> >> >> >> sslSha256 >> >> |value error: sslSha256 >> >> sslSha256 =: (IFWIN {:: ' SHA256 > + x *c x *c';'SHA256 > x *c x >> >> *c') ssl NB. SHA256 i *c l *c' ssl >> >> |value error: OPENSSL >> >> | ( OPENSSL,m)&cd >> >> >> >> So, ok, what's wrong with OPENSSL? >> >> >> >> OPENSSL =: sslp , (IFIOS + (;: 'Win Linux Android Darwin') i. >> >> <UNAME_z_) pick 'libeay32.dll '; (2 $ <'libssl.so '); (2 $ >> >> <'libssl.dylib ') >> >> |domain error >> >> | OPENSSL=:sslp ,(IFIOS+(;:'Win Linux Android >> >> Darwin')i.<UNAME_z_)pick'libeay32.dll ';(2$<'libssl.so >> >> ');(2$<'libssl.dylib ') >> >> >> >> In other words, I was just copying and pasting your code into >> >> jconsole, rather than defining a script and attempting to debug it. >> >> >> >> I recall doing that earlier and finding an issue with libssl which I >> >> was not prepared to deal with. >> >> >> >> Thanks, >> >> >> >> -- >> >> Raul >> >> >> >> On Sat, Sep 6, 2014 at 11:52 AM, 'Pascal Jasmin' via Programming >> >> <programm...@jsoftware.com> wrote: >> >>> You did not go far enough down the page :P CryptAcquireContext is only >> >>> used in the MSFT binding not openssl binding >> >>> >> >>> >> >>> ----- Original Message ----- >> >>> From: Raul Miller <rauldmil...@gmail.com> >> >>> To: Programming forum <programm...@jsoftware.com> >> >>> Cc: >> >>> Sent: Saturday, September 6, 2014 11:49 AM >> >>> Subject: Re: [Jprogramming] md5 is not md5 >> >>> >> >>> I used the code from the bottom of the page. >> >>> >> >>> Quite possibly I should have used it differently, but that's a different >> >>> issue. >> >>> >> >>> Thanks, >> >>> >> >>> -- >> >>> Raul >> >>> >> >>> >> >>> On Sat, Sep 6, 2014 at 11:46 AM, 'Pascal Jasmin' via Programming >> >>> <programm...@jsoftware.com> wrote: >> >>>> You are using the wrong code. That is indeed windows specific >> >>>> bindings. The openssl bindings are at the bottom of the page. Though >> >>>> you may want to pick up hexhash definition from the top section. >> >>>> >> >>>> >> >>>> >> >>>> >> >>>> ----- Original Message ----- >> >>>> From: Raul Miller <rauldmil...@gmail.com> >> >>>> To: Programming forum <programm...@jsoftware.com> >> >>>> Cc: >> >>>> Sent: Saturday, September 6, 2014 11:41 AM >> >>>> Subject: Re: [Jprogramming] md5 is not md5 >> >>>> >> >>>> I tried your code at >> >>>> http://www.jsoftware.com/jwiki/PascalJasmin/SHA%201%2C%202%20and%20MD5%20for%20windows >> >>>> >> >>>> sha256 hexhash 'The quick brown fox jumps over the lazy dog' >> >>>> |domain error: cd >> >>>> | >> >>>> CryptAcquireContext(aProv=.,_1);(<0);(<0);PROV_RSA_AES;CRYPT_VERIFYCONTEXT >> >>>> >> >>>> Meanwhile, what I have works for me. >> >>>> >> >>>> Specifically, I built libmd5.so using >> >>>> https://github.com/rdm/libmd5.so, copied it into the directory >> >>>> /home/ubuntu/bin/ and then used, from in J: >> >>>> >> >>>> md5raw=: '/home/ubuntu/bin/libmd5-64.so MD5String > l *c l'&(15!:0)@(; >> >>>> #) >> >>>> md5=: 3 :',tolower hfd a.i. 15!:1 (md5raw y),0 16 2' >> >>>> >> >>>> Now... since I need both 32 bit J (to parse xml using xml/sax - >> >>>> apparently that only works on 32 bit j602) and 64 bit J (to deal with >> >>>> more data than will fit in a 32 bit process), I'm having to have two >> >>>> copies of libmd5.so - one for each instance of J. But I can live with >> >>>> that. >> >>>> >> >>>> Thanks, >> >>>> >> >>>> -- >> >>>> Raul >> >>>> >> >>>> >> >>>> On Sat, Sep 6, 2014 at 11:23 AM, 'Pascal Jasmin' via Programming >> >>>> <programm...@jsoftware.com> wrote: >> >>>>> the code was tested at one point on mac. There is an attempt in the >> >>>>> definitions (at bottom of page only) to link on linux. assumes >> >>>>> /usr/lib/libssl.so . Should work? or few changes needed to work on >> >>>>> linux? >> >>>>> >> >>>>> >> >>>>> ----- Original Message ----- >> >>>>> From: Raul Miller <rauldmil...@gmail.com> >> >>>>> To: Programming forum <programm...@jsoftware.com> >> >>>>> Cc: >> >>>>> Sent: Saturday, September 6, 2014 11:11 AM >> >>>>> Subject: Re: [Jprogramming] md5 is not md5 >> >>>>> >> >>>>> I can't use your implementation, since I'm not running this on windows. >> >>>>> >> >>>>> That said, I've got a fix for my code. >> >>>>> >> >>>>> That said, I do not have a fix for the portable code in >> >>>>> convert/misc/md5. >> >>>>> >> >>>>> The first thing which would need to be fixed there are the uses of 32 >> >>>>> b. and 33 b. (in the definitions of sh_pcrypt_ and rot_pcrypt_) but >> >>>>> oddly enough that does not seem to be sufficient. It's not obvious to >> >>>>> me what else needs to be fixed, and right now I am feeling too >> >>>>> impatient to isolate the problem. >> >>>>> >> >>>>> Thanks, >> >>>>> >> >>>>> -- >> >>>>> Raul >> >>>>> >> >>>>> >> >>>>> On Sat, Sep 6, 2014 at 10:55 AM, 'Pascal Jasmin' via Programming >> >>>>> <programm...@jsoftware.com> wrote: >> >>>>>> It was written and tested for 32 bits. J7-64 also gives the wrong >> >>>>>> answer. >> >>>>>> >> >>>>>> At the bottom of this page there are openssl bindings to similar >> >>>>>> hashes. >> >>>>>> http://www.jsoftware.com/jwiki/PascalJasmin/SHA%201%2C%202%20and%20MD5%20for%20windows >> >>>>>> >> >>>>>> all the bound hashes are the same speed when called, but I added an >> >>>>>> md5 implementation this morning. IIRC it is over 1000 times faster >> >>>>>> than the J code. >> >>>>>> >> >>>>>> I possibly made the unpopular design decision to split out the >> >>>>>> formatting of the hash and keep it raw binary. There is a 5x >> >>>>>> performance benefit for doing so. >> >>>>>> >> >>>>>> the fastest conversion (but takes more space than binary) is >> >>>>>> >> >>>>>> listhash =: (a. i. ])@: >> >>>>>> >> >>>>>> or: >> >>>>>> a. i. md5 'example' >> >>>>>> >> >>>>>> If you are having any problems with the library, the source is likely >> >>>>>> in the first 3 lines. I didn't test with 32 bits, but any problems >> >>>>>> there are likely solveable. >> >>>>>> >> >>>>>> >> >>>>>> ----- Original Message ----- >> >>>>>> From: Raul Miller <rauldmil...@gmail.com> >> >>>>>> To: Programming forum <programm...@jsoftware.com> >> >>>>>> Cc: >> >>>>>> Sent: Saturday, September 6, 2014 9:10 AM >> >>>>>> Subject: [Jprogramming] md5 is not md5 >> >>>>>> >> >>>>>> j602: >> >>>>>> >> >>>>>> load'convert/misc/md5' >> >>>>>> md5 'example' >> >>>>>> 1a79a4d60de6718e8e5b326e338ae533 >> >>>>>> >> >>>>>> j64-802: >> >>>>>> >> >>>>>> load'convert/misc/md5' >> >>>>>> md5 'example' >> >>>>>> 64a9df64d8defee229d86709a425ea7a >> >>>>>> >> >>>>>> This is a problem... >> >>>>>> >> >>>>>> == >> >>>>>> Raul >> >>>>>> ---------------------------------------------------------------------- >> >>>>>> For information about J forums see http://www.jsoftware.com/forums.htm >> >> >> >> >> >> >> >>>> >> >>>> >> >>>> >> >>>>> >> >>>>> >> >>>>> >> >>>>>> >> >>>>>> ---------------------------------------------------------------------- >> >>>>>> For information about J forums see http://www.jsoftware.com/forums.htm >> > >> > >> > >> >>> >> >>> >> >>> >> >>>>> ---------------------------------------------------------------------- >> >>>>> For information about J forums see http://www.jsoftware.com/forums.htm >> >>>>> >> >>>>> ---------------------------------------------------------------------- >> >>>>> For information about J forums see http://www.jsoftware.com/forums.htm >> >>>> ---------------------------------------------------------------------- >> >>>> For information about J forums see http://www.jsoftware.com/forums.htm >> >>>> >> >>>> ---------------------------------------------------------------------- >> >>>> For information about J forums see http://www.jsoftware.com/forums.htm >> >>> ---------------------------------------------------------------------- >> >>> For information about J forums see http://www.jsoftware.com/forums.htm >> >>> >> >>> ---------------------------------------------------------------------- >> >>> For information about J forums see http://www.jsoftware.com/forums.htm >> >> ---------------------------------------------------------------------- >> >> For information about J forums see http://www.jsoftware.com/forums.htm >> >> >> >> ---------------------------------------------------------------------- >> >> For information about J forums see http://www.jsoftware.com/forums.htm >> > ---------------------------------------------------------------------- >> > For information about J forums see http://www.jsoftware.com/forums.htm >> > >> > ---------------------------------------------------------------------- >> > For information about J forums see http://www.jsoftware.com/forums.htm >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm > > -- > regards, > ==================================================== > GPG key 1024D/4434BAB3 2008-08-24 > gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 > gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 > > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm