A Configuration loader that uses a format similar to MS .ini files.
openssl:
- A command line tool which provides the following functions:
-
- enc - a general encryption program that can encrypt/decrypt using
- one of 17 different cipher/mode combinations. The
- input/output can also be converted to/from base64
- ascii encoding.
- dgst - a generate message digesting program that will generate
- message digests for any of md2, md5, sha (sha-0 or sha-1)
- or mdc2.
- asn1parse - parse and display the structure of an asn1 encoded
- binary file.
- rsa - Manipulate RSA private keys.
- dsa - Manipulate DSA private keys.
- dh - Manipulate Diffie-Hellman parameter files.
- dsaparam- Manipulate and generate DSA parameter files.
- crl - Manipulate certificate revocation lists.
- crt2pkcs7- Generate a pkcs7 object containing a crl and a certificate.
- x509 - Manipulate x509 certificates, self-sign certificates.
- req - Manipulate PKCS#10 certificate requests and also
- generate certificate requests.
- genrsa - Generates an arbitrary sized RSA private key.
- gendsa - Generates DSA parameters.
- gendh - Generates a set of Diffie-Hellman parameters, the prime
- will be a strong prime.
- ca - Create certificates from PKCS#10 certificate requests.
- This program also maintains a database of certificates
- issued.
- verify - Check x509 certificate signatures.
- speed - Benchmark OpenSSL's ciphers.
- s_server- A test SSL server.
- s_client- A test SSL client.
- s_time - Benchmark SSL performance of SSL server programs.
- errstr - Convert from OpenSSL hex error codes to a readable form.
- nseq - Netscape certificate sequence utility
+ A command line tool that can be used for:
+ Creation of RSA, DH and DSA key parameters
+ Creation of X.509 certificates, CSRs and CRLs
+ Calculation of Message Digests
+ Encryption and Decryption with Ciphers
+ SSL/TLS Client and Server Tests
+ Handling of S/MIME signed or encrypted mail
+
PATENTS
-------
If you have any problems with OpenSSL then please take the following steps
first:
+ - Download the current snapshot from ftp://ftp.openssl.org/snapshot/
+ to see if the problem has already been addressed
- Remove ASM versions of libraries
- Remove compiler optimisation flags
- - Add compiler debug flags (if using gcc then remove -fomit-frame-pointer
- before you try to debug things)
If you wish to report a bug then please include the following information in
any bug report:
- OpenSSL Details
- - Version, most of these details can be got from the
- 'openssl version -a' command.
- Operating System Details
- - On Unix systems: Output of './config -t'
- - OS Name, Version
- - Hardware platform
- Compiler Details
- - Name
- - Version
- Application Details
- - Name
- - Version
- Problem Description
- - include steps that will reproduce the problem (if known)
- Stack Traceback (if the application dumps core)
+ - On Unix systems:
+ Self-test report generated by 'make report'
+ - On other systems:
+ OpenSSL version: output of 'openssl version -a'
+ OS Name, Version, Hardware platform
+ Compiler Details (name, version)
+ - Application Details (name, version)
+ - Problem Description (steps that will reproduce the problem, if known)
+ - Stack Traceback (if the application dumps core)
Report the bug to the OpenSSL project at:
Note that mail to openssl-bugs@openssl.org is forwarded to a public
mailing list. Confidential mail may be sent to openssl-security@openssl.org
- (PGP key available from the key servers.)
+ (PGP key available from the key servers).
HOW TO CONTRIBUTE TO OpenSSL
----------------------------
my $last="??";
my $ok=0;
my $cc="cc";
+my $cversion="??";
my $sep="-----------------------------------------------------------------------------\n";
open(OUT,">$report") or die;
$version=$1 if (/^VERSION=(.*)$/);
$platform=$1 if (/^PLATFORM=(.*)$/);
$options=$1 if (/^OPTIONS=(.*)$/);
- $cc=$1 if (/^CC=(.*)$/);
+ $cc=$1 if (/^CC= *(.*)$/);
}
close(IN);
} else {
- print OUT "Error running config: no Makefile.ssl!\n";
+ print OUT "Error running config!\n";
}
+$cversion=`$cc -v 2>&1`;
+$cversion=`$cc -V 2>&1` if $cversion =~ "usage";
+$cversion =~ s/Reading specs.*\n//;
+$cversion =~ s/usage.*\n//;
+chomp $cversion;
+
if (open(IN,"<CHANGES")) {
while(<IN>) {
if (/\*\) (.{0,55})/) {
print OUT "OS (config): $os\n";
print OUT "Target (default): $platform0\n";
print OUT "Target: $platform\n";
+print OUT "Compiler: $cversion\n";
print OUT "\n";
+goto err;
+
print "Checking compiler...\n";
if (open(TEST,">test.c")) {
print TEST "#include <stdio.h>\nmain(){printf(\"Hello world\\n\");}\n";
print;
}
print "Test report in file $report\n";
+