Giter VIP home page Giter VIP logo

ostc-openssl's Introduction

OpenSSL

OpenSSL source code (used to build OpenSSL for OSTC team ULINUX builds)

This repository exists for ease of use only, used to configure a system to properly build universal agents. Similar information is available on GitHub. This repository is just in an easier-to-use form, making it faster to set up a universal build system with the exact versions of SSL that we need.

Cloning this repository

Since this repository has subprojects, it should be cloned with a command like:
git clone --recursive [email protected]:Microsoft/ostc-openssl.git

Building OpenSSL for universal agents

To build OpenSSL for universal agents, we require building:

Building SSL 0.9.8

Untar your distribution file, if necessary, and go into the base directory of OpenSSL 0.9.8 with a command like:
cd openssl-0.9.8

Configure the software based on your build system:

  • On a CentOS 6.x 64 bit OS, use ./config no-asm -fPIC --prefix=/usr/local_ssl_0.9.8 shared

  • For all other platforms, use ./config --prefix=/usr/local_ssl_0.9.8 shared

After OpenSSL 0.9.8 is properly configured, use the standard mantra:

make
make test
sudo make install

Note that its normal to sometimes get unit test errors for SSL 0.9.8. If that happens, just proceed to 'sudo make install'.

Building SSL 1.0.0

Untar your distribution file, if necessary, and go into the base directory of OpenSSL 1.0.0 with a command like:
cd openssl-1.0.0

To configure and build SSL 1.0.0, use the following commands:

./config --prefix=/usr/local_ssl_1.0.0 shared -no-ssl2 -no-ec -no-ec2m -no-ecdh
make depend
make
make test
sudo make install_sw

Unlike SSL 0.9.8, we've never seen unit test failures for SSL 1.0.0.

Notes for SSL configuration:

Building SSL 1.1.0

NOTE: Build of SSL 1.1.0 needs a more recent version of Perl than most of our universal build systems have.

Note that we've had problems buliding with "very" bleeding edge versions (like v5.26.0), so we've stepped back to prior versions.

This PERL from source can be achieved by using the following commands:

git clone https://github.com/Perl/perl5.git 
pushd perl5/
git checkout v5.24.1
./Configure -des -Dprefix=/usr/local_perl_5_24_1
make test
sudo make install

Once you have built PERL (if needed), untar your distribution file, if necessary, and go into the base directory of OpenSSL 1.1.0 with a command like:
cd openssl-1.1.0

If you needed to build PERL from source, be sure to place the new version of PERL first in your PATH environment variable, like this:

export PATH=/usr/local_perl_5_24_1/bin:$PATH

To configure and build SSL 1.1.0, use the following commands:

./config --prefix=/usr/local_ssl_1.1.0 shared -no-ssl2 -no-ec -no-ec2m -no-ecdh
make depend
make
make test
sudo make install_sw

Closing notes

We need these installed ONLY on ULinux build systems (i.e. RedHat 32-bit and 64-bit, depending on the product(s) involved). No other systems need these kits.

Note that the ./config line utilize the --prefix option. The directory paths for the prefix (/usr/local_ssl_0.9.8 and /usr/local_ssl_1.0.0) are hard-coded in our make process. You can't change that without careful consideration, as it would impact the build procedures for numerous projects.

Finally, note that these bits are both installed regardless of the version of SSL installed on the system. Furthermore, nothing (other than our kit) links against these. No system software uses the SSL versions in these locations.

Code of Conduct

This project has adopted the [Microsoft Open Source Code of Conduct] (https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ] (https://opensource.microsoft.com/codeofconduct/faq/) or contact [email protected] with any additional questions or comments.

ostc-openssl's People

Contributors

jeffaco avatar microsoft-github-policy-service[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ostc-openssl's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.