Of course, if the customer doesn't have IBM support, then you might want to try the open source stuff on AIX.
You can find a lot of good "pre-compiled' packages here (they plug right into the AIX package manager) http://pware.hvcc.edu/ They claim that their AIX 6 stuff works on 7 http://pware.hvcc.edu/downloads.html On Mon, Feb 18, 2013 at 8:22 AM, John Thompson <jthompson...@gmail.com>wrote: > Also I remember having to have three parts with openssl on Linux. > > SSLCertificateFile /etc/apache2/ssl/basinc.biz.crt > SSLCertificateKeyFile /etc/apache2/ssl/basinc.biz.key > > Then I remember having to merge two files together to create the chain > file (just using a basic unix cat command I believe) > > SSLCertificateChainFile /etc/apache2/ssl/startssl.chain.class1.server.crt > > I remember these two links being helpful: > Of course its all openssl based. Not sure how the gsk stuff works with > IBM. > > http://jasoncodes.com/posts/startssl-free-ssl > > http://lowtek.ca/roo/2012/ubuntu-apache2-trusted-ssl-certificate-from-startssl/ > > > > On Mon, Feb 18, 2013 at 8:14 AM, John Thompson <jthompson...@gmail.com>wrote: > >> So I'm guessing you aren't using the open source version of apache, but, >> the IBM AIX flavor of it. >> Which I'm guessing is IHS. >> >> I've never worked with that before. >> Does the customer have IBM support? Maybe they have some guru that can >> send you an example? >> >> I have some notes on this on Linux. >> >> Here is an example of a virtual host section that did work with ssl on >> Apache on Linux (open source). >> It did not use gsk and ihs, but, openssl and open source apache. >> >> I included the comments because I thought it might help. >> BUT, all you need are the un-commented lines. >> >> </VirtualHost> >> <IfModule mod_ssl.c> >> >> #May need this if not included elsewhere in apache config files. >> #NameVirtualHost *:443 >> #Listen 443 >> >> <VirtualHost *:443> >> ServerAdmin some...@foo.com >> ServerName foo.com >> >> DocumentRoot /var/www/somesite >> >> <Directory /var/www/somesite> >> #Disable Options we don't need >> Options -Indexes +Includes -ExecCGI +FollowSymLinks >> -MultiViews >> AllowOverride None >> Order allow,deny >> allow from all >> </Directory> >> >> ErrorLog /var/log/apache2/error.log >> >> # Possible values include: debug, info, notice, warn, error, crit, >> # alert, emerg. >> LogLevel warn >> >> CustomLog /var/log/apache2/ssl_access.log combined >> >> Alias /doc/ "/usr/share/doc/" >> <Directory "/usr/share/doc/"> >> Options Indexes MultiViews FollowSymLinks >> AllowOverride None >> Order deny,allow >> Deny from all >> Allow from 127.0.0.0/255.0.0.0 ::1/128 >> </Directory> >> >> # SSL Engine Switch: >> # Enable/Disable SSL for this virtual host. >> SSLEngine on >> >> # A self-signed (snakeoil) certificate can be created by >> installing >> # the ssl-cert package. See >> # /usr/share/doc/apache2.2-common/README.Debian.gz for more >> info. >> # If both key and certificate are stored in the same file, only >> the >> # SSLCertificateFile directive is needed. >> SSLCertificateFile /etc/apache2/ssl/basinc.biz.crt >> SSLCertificateKeyFile /etc/apache2/ssl/basinc.biz.key >> >> # Server Certificate Chain: >> # Point SSLCertificateChainFile at a file containing the >> # concatenation of PEM encoded CA certificates which form the >> # certificate chain for the server certificate. Alternatively >> # the referenced file can be the same as SSLCertificateFile >> # when the CA certificates are directly appended to the server >> # certificate for convinience. >> SSLCertificateChainFile >> /etc/apache2/ssl/startssl.chain.class1.server.crt >> >> # Certificate Authority (CA): >> # Set the CA certificate verification path where to find CA >> # certificates for client authentication or alternatively one >> # huge file containing all of them (file must be PEM encoded) >> # Note: Inside SSLCACertificatePath you need hash symlinks >> # to point to the certificate files. Use the provided >> # Makefile to update the hash symlinks after changes. >> #SSLCACertificatePath /etc/ssl/certs/ >> #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt >> >> # Certificate Revocation Lists (CRL): >> # Set the CA revocation path where to find CA CRLs for client >> # authentication or alternatively one huge file containing all >> # of them (file must be PEM encoded) >> # Note: Inside SSLCARevocationPath you need hash symlinks >> # to point to the certificate files. Use the provided >> # Makefile to update the hash symlinks after changes. >> #SSLCARevocationPath /etc/apache2/ssl.crl/ >> #SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl >> >> # Client Authentication (Type): >> # Client certificate verification type and depth. Types are >> # none, optional, require and optional_no_ca. Depth is a >> # number which specifies how deeply to verify the certificate >> # issuer chain before deciding the certificate is not valid. >> #SSLVerifyClient require >> #SSLVerifyDepth 10 >> >> # Access Control: >> # With SSLRequire you can do per-directory access control based >> # on arbitrary complex boolean expressions containing server >> # variable checks and other lookup directives. The syntax is a >> # mixture between C and Perl. See the mod_ssl documentation >> # for more details. >> #<Location /> >> #SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \ >> # and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ >> # and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ >> # and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \ >> # and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) >> \ >> # or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/ >> #</Location> >> >> # SSL Engine Options: >> # Set various options for the SSL engine. >> # o FakeBasicAuth: >> # Translate the client X.509 into a Basic Authorisation. >> This means that >> # the standard Auth/DBMAuth methods can be used for access >> control. The >> # user name is the `one line' version of the client's X.509 >> certificate. >> # Note that no password is obtained from the user. Every >> entry in the user >> # file needs this password: `xxj31ZMTZzkVA'. >> # o ExportCertData: >> # This exports two additional environment variables: >> SSL_CLIENT_CERT and >> # SSL_SERVER_CERT. These contain the PEM-encoded certificates >> of the >> # server (always existing) and the client (only existing when >> client >> # authentication is used). This can be used to import the >> certificates >> # into CGI scripts. >> # o StdEnvVars: >> # This exports the standard SSL/TLS related `SSL_*' >> environment variables. >> # Per default this exportation is switched off for >> performance reasons, >> # because the extraction step is an expensive operation and >> is usually >> # useless for serving static content. So one usually enables >> the >> # exportation for CGI and SSI requests only. >> # o StrictRequire: >> # This denies access when "SSLRequireSSL" or "SSLRequire" >> applied even >> # under a "Satisfy any" situation, i.e. when it applies >> access is denied >> # and no other module can change it. >> # o OptRenegotiate: >> # This enables optimized SSL connection renegotiation >> handling when SSL >> # directives are used in per-directory context. >> #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire >> <FilesMatch "\.(cgi|shtml|phtml|php)$"> >> SSLOptions +StdEnvVars >> </FilesMatch> >> <Directory /usr/lib/cgi-bin> >> SSLOptions +StdEnvVars >> </Directory> >> >> # SSL Protocol Adjustments: >> # The safe and default but still SSL/TLS standard compliant >> shutdown >> # approach is that mod_ssl sends the close notify alert but >> doesn't wait for >> # the close notify alert from client. When you need a different >> shutdown >> # approach you can use one of the following variables: >> # o ssl-unclean-shutdown: >> # This forces an unclean shutdown when the connection is >> closed, i.e. no >> # SSL close notify alert is send or allowed to received. >> This violates >> # the SSL/TLS standard but is needed for some brain-dead >> browsers. Use >> # this when you receive I/O errors because of the standard >> approach where >> # mod_ssl sends the close notify alert. >> # o ssl-accurate-shutdown: >> # This forces an accurate shutdown when the connection is >> closed, i.e. a >> # SSL close notify alert is send and mod_ssl waits for the >> close notify >> # alert of the client. This is 100% SSL/TLS standard >> compliant, but in >> # practice often causes hanging connections with brain-dead >> browsers. Use >> # this only for browsers where you know that their SSL >> implementation >> # works correctly. >> # Notice: Most problems of broken clients are also related to >> the HTTP >> # keep-alive facility, so you usually additionally want to >> disable >> # keep-alive for those clients, too. Use variable "nokeepalive" >> for this. >> # Similarly, one has to force some clients to use HTTP/1.0 to >> workaround >> # their broken HTTP/1.1 implementation. Use variables >> "downgrade-1.0" and >> # "force-response-1.0" for this. >> BrowserMatch "MSIE [2-6]" \ >> nokeepalive ssl-unclean-shutdown \ >> downgrade-1.0 force-response-1.0 >> # MSIE 7 and newer should be able to use keepalive >> BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown >> >> </VirtualHost> >> </IfModule> >> >> >> On Sat, Feb 16, 2013 at 7:02 PM, Kevin King <ke...@precisonline.com>wrote: >> >>> Might anyone have any tips or tricks for getting SSL to work on the >>> IBMIHS/Apache 2.0.47 web server on an AIX 5.3 box? The documentation >>> I've >>> found on the web is byzantine at best and it would be fine if the >>> commands >>> actually worked, but I keep getting odd error messages and stalled at >>> every >>> turn. >>> >>> I've upgrade the GSK so that the server will start with SSL enabled, I >>> have >>> a virtual host configured, but I have no clue how to tie a specific >>> certificate to the VirtualHost. Well, let's say I have clues, but >>> nothing >>> is working. Here's the <VirtualHost> stanza I have set up in httpd.conf: >>> >>> <VirtualHost *:443> >>> SSLEnable >>> SSLClientAuth None >>> SSLServerCert api.client.com >>> ServerName api.client.com >>> DocumentRoot /usr/www >>> <Directory "/usr/www"> >>> Order Allow,Deny >>> Allow From All >>> </Directory> >>> ErrorLog logs/api_error.log >>> CustomLog logs/api_error.log common >>> </VirtualHost> >>> >>> I've been able to generate a CSR and create a self-signed certificate, >>> and >>> it would appear that I've even successfully imported that certificate >>> into >>> my key database, as demonstrated by this command: >>> >>> $ gsk7cmd -cert -details -db /usr/IBMIHS/ssl/client.kdb -label " >>> api.client.com" -pw "password" >>> >>> ...which produces the following output... >>> >>> Label: api.client.com >>> Key Size: 512 >>> Version: X509 V1 >>> Serial Number: 00 DB 00 41 9A 19 77 7E 9F >>> Issued By: api.client.com >>> CLIENT >>> City, ST, US >>> Subject: api.client.com >>> CLIENT >>> City, ST, US >>> Valid From: Saturday, February 16, 2013 6:06:08 PM EST To: Saturday, >>> April >>> 17, 2032 7:06:08 PM EDT >>> Fingerprint: ... >>> Signature Algorithm: 1.2.840.113549.1.1.5 >>> Trust Status: enabled >>> >>> But even though this certificate is in the keyfile (and yes, I have a >>> KeyFile directive elsewhere in the httpd.conf file pointing to the >>> client.kdb file) I can't seem to associate it to the virtual host. What >>> am >>> I missing? >>> >>> (And yes, I'm aware this is not specifically a U2 question but I need >>> this >>> to provide web connectivity to a Unidata machine from a Rackspace hosted >>> server. So in a way... it sorta is U2 related.) >>> >>> Help? >>> _______________________________________________ >>> U2-Users mailing list >>> U2-Users@listserver.u2ug.org >>> http://listserver.u2ug.org/mailman/listinfo/u2-users >>> >> >> >> >> -- >> John Thompson >> > > > > -- > John Thompson > -- John Thompson _______________________________________________ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users