Bitcoin Forum
November 06, 2024, 02:44:18 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: Bounty : OpenSSL with EC for Fedora/RH/CentOS : 3.6 BTC  (Read 13695 times)
kano
Legendary
*
Offline Offline

Activity: 4620
Merit: 1851


Linux since 1997 RedHat 4


View Profile
June 15, 2012, 03:23:18 PM
 #21

has anyone managed to get this to work for Centos, it would appear that the security patches are all based on the fips version and if i edit to use the non fips source tarball, the patch hunks fail, so the rpm fails to build?
... and you can't build it using openssl-1.0.0j-1.fc16.src.rpm ?

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
daemonic
Newbie
*
Offline Offline

Activity: 49
Merit: 0


View Profile
July 01, 2012, 02:09:28 AM
Last edit: July 01, 2012, 02:20:51 AM by daemonic
 #22

I managed to get it working on Centos now Smiley

Heres how;

1. Followed kano's instructions from https://bitcointalk.org/index.php?topic=85228.msg946289#msg946289
I didnt want to install the newly built rpm for my whole system (repo protections, etc), so i then modified the vanitygen build to use the BUILD directory;
2. Edit Makefile as follows;
Code:
Change
LIBS=-lpcre -lcrypto -lm -lpthread
CFLAGS=-ggdb -O3 -Wall
To
LIBS=-L/usr/src/redhat/BUILD/openssl-1.0.0j -lpcre -lcrypto -lm -lpthread
CFLAGS=-ggdb -O3 -Wall -I/usr/src/redhat/BUILD/openssl-1.0.0j/include
3. Build the vanitygen/oclvanitygen
Code:
make vanitygen && make oclvanitygen
As per the openssl build, I dont want to install it fully, so..
4. Copied to my homedir and chown'd to my user as my user owns the DISPLAY:0 session.
5. Ran the oclvanitygen with BUILD lib dir environment variable set (so as to load the right libcrypto.so)
Code:
env LD_LIBRARY_PATH="/usr/src/redhat/BUILD/openssl-1.0.0j" ./oclvanitygen 1SomeName
which gave me a list of device numbers
Code:
Available OpenCL platforms:
0: [Advanced Micro Devices, Inc.] AMD Accelerated Parallel Processing
  0: [Advanced Micro Devices, Inc.] Cayman
  1: [GenuineIntel]               Intel(R) Pentium(R) D CPU 3.20GHz
6. Re-ran oclvanitygen with the OCL device number (-d <number>)
Code:
env LD_LIBRARY_PATH="/usr/src/redhat/BUILD/openssl-1.0.0j" ./oclvanitygen -d 0 1SomeName
7. Watch as you realise that to find an 8 digit vanity address could take a long time on a single 6970.

Hope this helps anyone else Smiley
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2349


Eadem mutata resurgo


View Profile
July 02, 2012, 06:52:53 AM
 #23

Someone else building OpenSSL rpms with ECDSA support here (64bit only thought it seems) ...

https://people.xiph.org/~greg/openssl/

kano
Legendary
*
Offline Offline

Activity: 4620
Merit: 1851


Linux since 1997 RedHat 4


View Profile
July 29, 2012, 04:54:04 AM
 #24

Got a new Motherboard last week so I installed FC17
(FC16 and earlier seems impossible to get working with an AM3+ GB-970A-D3)
FC17 is 1.0.0j-2 so I made a 1.0.0j-3
All compiled, built and installed without errors.

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
NilamDoc
Member
**
Offline Offline

Activity: 76
Merit: 10


Bitcoin


View Profile
March 12, 2013, 02:52:49 AM
 #25

I was able to compile vanitygen using this method:

cd /tmp
wget http://www.openssl.org/source/openssl-1.0.0j.tar.gz
unzip openssl-1.0.0j.tar.gz
tar -xvf openssl-1.0.0j.tar.gz

cd openssl-1.0.0.j
nano Makefile
#[Change the options]
OPTIONS= no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-shared  no-store no-zlib no-zlib-dynamic  static-engine enable-cms enable-md2 no-idea enable-ec enable-ecdh enable-ecdsa
 
 make
 make install
 
 cd /vanitygen
 nano Makefiile
#LIBS=-lpcre -lcrypto -lm -lpthread
#CFLAGS=-ggdb -O3 -Wall
LIBS=-L/tmp/openssl-1.0.0j -lpcre -lcrypto -lm -lpthread
CFLAGS=-ggdb -O3 -Wall -I/tmp/openssl-1.0.0j/include
OBJS=vanitygen.o  pattern.o util.o
PROGS=vanitygen

PLATFORM=$(shell uname -s)
ifeq ($(PLATFORM),Darwin)
OPENCL_LIBS=-framework OpenCL
else
OPENCL_LIBS=-lOpenCL
endif



all: $(PROGS)

vanitygen: vanitygen.o pattern.o util.o
        $(CC) $^ -o $@ $(CFLAGS) $(LIBS)

clean:
        rm -f $(OBJS) $(PROGS) $(TESTS)



make

Development Only
meltingrobot
Member
**
Offline Offline

Activity: 63
Merit: 10



View Profile WWW
May 13, 2013, 06:15:16 PM
 #26

I've been playing around more with building an openssl-ec RPM and RPMS for the alternate coins against it.  I'm making some progress, but I need to find a place to host a repository when I'm finished.

BTC: 1CTsBk6hfMMUQNweY5ytyesuPnTu8tBF3d
LTC: LQR3WUYVT4y5XxdmJJ5ttjwi6WwST1dkzN
neonzeon
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
June 24, 2013, 10:31:30 PM
 #27

I followed Kano's instructions using a newly instantiated CentOS 6.4 server on the Amazon Cloud service.

There is a problem in step 6 where where you copy and rename http://www.openssl.org/source/openssl-1.0.0j.tar.gz

The patches in /rpmbuild/SOURCES are out of sync, because they still correlate to the original source from http://vault.centos.org/6.4/os/Source/SPackages/openssl-1.0.0-27.el6.src.rpm

My journey is documented here http://bitcointalk.org/index.php?topic=239337.msg2568979#msg2568979


neonzeon
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
July 01, 2013, 09:13:58 AM
Last edit: July 01, 2013, 09:52:55 AM by neonzeon
 #28

I finally got CentOS 6.4 to rebuiild openssl with elliptic curves enables, as required by Bitcoin.

The primary issue is that the CentOS source package contains tarball openssl-1.0.0-usa.tar.bz2

The correct replacement tarball package from openssl.org would be this one http://www.openssl.org/source/openssl-1.0.0.tar.gz

Secondly, a patch from openssl.org is also needed: http://cvs.openssl.org/patchset?cn=19998

After the above two downloads, the spec file is edited to enable EC, point to the new source, and update the release number.

Detailed instructions how to do the build are here: https://bitcointalk.org/index.php?topic=239337.msg2624466#msg2624466
kano
Legendary
*
Offline Offline

Activity: 4620
Merit: 1851


Linux since 1997 RedHat 4


View Profile
July 07, 2013, 01:31:06 AM
Last edit: July 07, 2013, 03:14:44 AM by kano
 #29

Well it was all OK up to 1.0.0k ... but then redhat changed the libraries around somewhere between 1.0.0k and 1.0.1e

Rather than sort that out and have to do more editing ...

... instead of building an RPM with a dynamic library, you can simply just build the full versions and link static:

get the latest official openssl
extract it
cd openssl-1.0.1e (or whatever version you grabbed)
./config
make
pwd <- remember this (*A)

Next get bitcoin whatever version
extract it
cd bitcoin-0.8.3-linux/src/src (or whatever version you grabbed)
cp makefile.unix makefile
vim makefile
add at the top:

DSSL = /home/whatever/openssl-1.0.1e <- this is (*A)
ISSL = $(DSSL)/include
OPENSSL_LIB_PATH = $(DSSL)
OPENSSL_INCLUDE_PATH = $(ISSL)

save it then:
make

(there is of course a bunch of other stuff required to compile bitcoind, but the point of this post is how to simply get around the EC restrictions)

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
MasterJAzz483
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
July 05, 2015, 03:55:35 AM
Last edit: July 05, 2015, 05:09:34 AM by MasterJAzz483
 #30

Im building version k on Fedora21. It builds ok but doesnt change the links or update anything in /lib like its supposed to when you do a "sudo make install". I had to pull k from fedora22 area. Version j, supplied for fedora21 just wont build. All sources of course coming from openssl.org. Only the RPM BUILD area has the proper links to change for /lib but Im getting a build error on EC, even though Ive changed the spec file as youve said to ENABLE it.

I moved the openssl version k source tarball to override the "hobbled" sources.There is no "USA" file. Im still getting an error when Im using the full sources.

Fedora is making this an ongoing nightmare. Debian distros ignore this fact completely and ship NON-free openssl by default, so this issue does not apply to them(but maybe it SHOULD?).

ERROR(using makefile modification, same as without it):

EXCEPTION: 9 key_error       
CKey::CKey() : EC_KEY_new_by_curve_name failed       
bitcoin in Runaway exception
kano
Legendary
*
Offline Offline

Activity: 4620
Merit: 1851


Linux since 1997 RedHat 4


View Profile
July 05, 2015, 05:36:18 AM
 #31

I've given up trying to get around the fedora changes - I also found that the binary in the bitcoin master linux build works on my current Fedora 20
(but I'm dropping using fedora soon anyway and going with another linux distro - too many version updates for no reason and no LTS style version between all the updates, and I'm sick of fedora forcing you to do stuff because they want the average "I don't know linux" user to only do what they want them to do)

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!