2

I have some customers who download my software. to have full benefit they need to have OpenSSL installed on the system and point my software to it.

However, the user skill level can vary a lot. Even just selecting a dialog to choose the directory where openssl is placed may be too hard for some, but I will have to solve that by either auto detection or good help/manual.

This means I rather not start suggesting package managers etc. and it's out of the question suggesting they compile the code themselves.

Is there any recognized place where openssl binaries for osx (32bit and 64bit) can be downloaded? I have not found any...

For reference:

  • OS X contains version 0.9.8 which is quite old + a least breaks compatibility with the libraries I use that assume newer version.
1
  • I've deleted my answer, since it's no longer valid following your edit. Openssl is only distributed as source code, so there's no standard binary distribution. I suggest you maintain your own and just ship openssl binaries with your software.
    – Mike Scott
    Commented Mar 14, 2016 at 6:01

2 Answers 2

0

Is there any recognized place where openssl binaries for osx (32bit and 64bit) can be downloaded? I have not found any...

The standard location selected by OpenSSL on Unix and Unix-like operating systems is /usr/local/ssl. Header files are located in /usr/local/ssl/include, and library files are located in /usr/local/ssl/lib. Also see the INSTALL file and Compilation and Installation on the OpenSSL wiki.

However, you add an additional wrinkle: you want both 32-bit and 64-bit OpenSSL at that location. That moves you into Universal Binaries on OS X.

For OpenSSL, the library is not Universal Binary safe, and its technically not feasible to build with multiple architectures. For the first item, not Universal Binary safe, that's because each configuration of OpenSSL produces a unique <openssl/opensslconf.h>. For the second item, technically not feasible, you can't specify -arch i386 -arch x86_64 because it causes a compile failure due to the recipe to build the static archives.

Both can be worked around, but I'm not aware of a reference on the subject. I work closely with the libraries, so I happen to know about the problems and the fixes. I was just talking to some of the OpenSSL devs about creating a wiki page on Universal Binaries for Apple platforms.

0

The way to do such universal binary is to compile for each archtitecture separately. Then you can merge the libray files with the lipo tool into one. The header files which are different you can rename these files.

So you could have opensslconf_i386.h and opensslconf_x86_64.h and then have a opensslconf.h which only includes one or the other depending on the current compilation architecture.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .