The AmiSSL project is a collaborative effort to develop a port of OpenSSL
in a shared library for Amiga-based systems (AmigaOS, MorphOS, AROS, etc).
OpenSSL (www.openssl.org) is "an open source project that provides a
robust, commercial-grade, and full-featured toolkit for the Transport
Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also
a general-purpose cryptography library."
The library together with its provided software development kit (SDK) tries
to be 100% API/ABI compatible to the OpenSSL version it is based on. Due to
it being a shared library, it can be used by several Amiga applications at
the same time, without wasting resources.
AmiSSL v5 is a new major release which has been updated with full
compatibility with OpenSSL 3.4. This includes important security related
fixes, a built-in HTTP(S) client and comes with the latest encryption
ciphers which are required nowadays to connect to modern SSL-based services
such as HTTPS and SSH.
General
-------
AmiSSL consists of four major components: the shared libraries, the public
root CA certificates, a port of the `OpenSSL` command-line tool and the
developer software development kit (SDK).
Libraries
---------
The main library is "amisslmaster.library" which acts as a proxy and opens
the appropriate AmiSSL library (with compatibility to a certain OpenSSL
version) for the programs using AmiSSL. This mechanism allows different
AmiSSL versions to be installed in parallel, due to different applications
potentially requiring different versions. For this reason, it is important
that the latest version of "amisslmaster.library" is always installed.
The actual OpenSSL implementations are located in the shared libraries that
are usually stored inside the "AmiSSL:Libs/AmiSSL" directory. With the
exception of AmiSSL v1 libraries, none of them should be opened directly,
but instead via "amisslmaster.library". The technical details on this can be
found in AmiSSL SDK documentation (see README-SDK).
The previous versions of libraries in AmiSSL directory should be kept when a
new version of AmiSSL is released since they may still be used, as sometimes
changes in the OpenSSL API/ABI or public structures mean that backwards
compatibility cannot be maintained, usually for major OpenSSL updates only.
When this is not an issue, the installer will delete any old versions that
are no longer required and applications will benefit automatically from using
the latest version without themselves needing to be recompiled/updated.
Root CA Certificates
--------------------
Each AmiSSL version is supplied with a full set of root CA certificates
which have been synchronized to the ones the Mozilla group usually distribute
with their products (e.g. Mozilla Firefox, etc.) and are stored in the
"AmiSSL:Certs" directory. When installing new updated AmiSSL versions, these
certificates are updated and expired ones are removed.
It is recommended that you do not manually add certificates to the
"AmiSSL:Certs" directory, but if you did, you should back them up and copy
them back after installing the latest AmiSSL. Normally, you should add and
maintain your own certificates in the "AmiSSL:UserCerts" directory, so that
no future AmiSSL release will delete them. Applications should store
certificates in "AmiSSL:UserCerts" and private keys in "AmiSSL:Private".
The 'OpenSSL' command-line tool
-------------------------------
A port of the OpenSSL tool is also included and usually installed to AmiSSL:
or C: during installation. It is a "command line tool for using the various
cryptography functions of OpenSSL's crypto library from the shell". The
documentation for the OpenSSL tool is included in the archive and can also
be reviewed online: https://www.openssl.org/docs/man3.4/man1/openssl.html.
A sample openssl.cnf file is also installed to AmiSSL:, if it doesn't already
exist, along with the CA.pl helper script, both of which aid the certificate
generation features of the OpenSSL tool. The tsget.pl script is also included.
Developer SDK
-------------
The AmiSSL SDK contains everything a developer needs to use OpenSSL in their
applications, including C header files, Autodocs, autoopen link library,
stub link library, examples and library interface description files. The first
point of call being the README-SDK file which explains what needs to be done.
Backwards Compatibility
-----------------------
All applications compiled to use previous versions of AmiSSL v5 will
automatically use the latest version once installed. Old applications will
continue to use AmiSSL v4 or older and will need to be recompiled with the
updated SDK in order to start using AmiSSL v5. Besides this difference,
AmiSSL v5 can be installed on top of any previous AmiSSL versions, which
ensures that applications compiled for AmiSSL v1/v2/v3/v4 continue to work.
Requirements
------------
AmiSSL requires an Amiga-compatible operating system being installed (AmigaOS,
MorphOS, AROS) with exec.library v38+ compatibility. Currently, AmiSSL is
compatible with AmigaOS 4.0+/PPC, AmigaOS 3.0+/68020+ and MorphOS.
IMPORTANT NOTE
--------------
This release comes with binaries for the AmigaOS4/PPC and AmigaOS3/m68k
platform only. Unfortunately, due to lack of motivated developers we couldn't
provide native binaries for the MorphOS/PPC or AROS (PPC, i386, x86_64)
platform in time. If you are, however, interested in seeing AmiSSL v5 being
ported for these other Amiga-based platforms, please try to find motivated and
talented developers who could join our team as proper maintainers for these
alternative platforms. In addition, if you are a MorphOS or AROS developer
yourself, feel free to send proper pull requests to see your platform
supported in one of the next releases or please consider joining our team.
Legal information
-----------------
AmiSSL v1 Copyright (c) 1999-2006 Andrija Antonijevic.
AmiSSL v2/v3 Copyright (c) 2002-2006 Andrija Antonijevic, Stefan Burstroem.
AmiSSL v4/v5 Copyright (c) 2014-2024 AmiSSL Open Source Team.
All Rights Reserved.
OpenSSL Cryptography and SSL/TLS Toolkit
Copyright (c) 1995-2024 The OpenSSL Project Authors. All Rights Reserved.
AmiSSL uses a modified version of OpenSSL. Both AmiSSL and OpenSSL
are licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License in the file LICENSE in the
source distribution or at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
68060 optimised 64-bit multiplication routines
Copyright (c) 2001-2022 Frank Wille. All Rights Reserved.
OpenSSL BIGNUM 68020-68040 optimised routines
Copyright (c) 2002 by Howard Chu <hychighlandsun.com>
Contact us
----------
Bugs, any other issues or queries should be reported to the AmiSSL team via
https://github.com/jens-maus/amissl/issues. You may also follow us on
Twitter amigassl, where we post updates and release announcements.
Authors
-------
AmiSSL is a collaborative effort with Amiga-specific code being contributed
by the following people:
- Andrija Antonijevic
- Thore Boeckelmann
- Stefan Burstroem
- Howard Chu
- Jens Maus
- Gunther Nikl
- Oliver Roberts
- Frank Wille
|