| 
<?php
// ========================================================================= //
 // ****     Copyright (C)2008 by EasyStar Software (www.easystar.nl)    **** //
 // ========================================================================= //
 
 /***
 * File       : iDealCerts_example.php
 * Version    : 1.0
 * Written by : Richard Nijmeijer (EasyStar Software)
 *
 * This file demonstrates the use of the iDealCerts class ('iDealCerts_class.php')
 *
 * This file is licensed under the GNU General Public License.
 * You may use and/or alter this file and the example for your own use,  either as
 * a private person or commercial, but it may not be sold.  Also you have to leave
 * the above copyright as it is and also this message has to remain when you alter
 * the base for your own use or re-deployment.
 *
 * No warranty, express or implied, is given for the use of this file.
 */
 
 /**
 * Call the class, adjust with the path if needed
 */
 require_once('iDealCerts_class.php');
 
 /**
 * Set the path where the certificates should be saved, adjust if needed
 *
 * @var Certificate_path     example: 'security/certificates/' (end with a 'slash')
 */
 $Certificate_path = './';
 
 /**
 * Define the class to your variable
 *
 * @class iDealCerts
 */
 $iDealCerts = new iDealCerts();
 
 /**
 * Set the classes variable 'path' to your defined path variable
 *
 * @var iDealCerts->path
 */
 $iDealCerts->path = $Certificate_path;
 
 /**
 * Set the classes variable 'distinguished_name' to your predefined variables
 * Make sure that before setting this variable, your '$country', '$state', etc. are defined!
 *
 * @function iDealCerts->distinguished_name(vars)
 */
 $iDealCerts->set_distinguished_name($country, $state, $city, $organization_name, $organization_dept, $name, $email);
 
 /**
 * Set the classes variable 'numberOfDays' to your predefined variable
 * Make sure that before setting this variable, your '$valid_days' is defined or set it to an Integer value!
 *
 * @var iDealCerts->numberOfDays
 */
 $iDealCerts->numberOfDays = $valid_days;
 
 /**
 * Set the classes variable 'privateKeyPass' to your predefined variable
 * Make sure that before setting this variable, your '$password' is defined or set it to a STRONG string value!
 *
 * @var iDealCerts->privateKeyPass
 */
 $iDealCerts->privateKeyPass = $password;
 
 /**
 * Set the classes variable 'publicCertFile', 'localCertFile' and 'privateKeyFile' to your predefined variable
 * Make sure that before setting this variable, your '$filename' is defined!
 * The '$filename' ONLY holds the name of the certificate files, NO extensions!
 *
 * @var iDealCerts->publicCertFile
 * @var iDealCerts->localCertFile
 * @var iDealCerts->privateKeyFile
 */
 $iDealCerts->publicCertFile = $filename . ".cer";
 $iDealCerts->localCertFile = $filename . ".crt";
 $iDealCerts->privateKeyFile = $filename . ".pem";
 
 /**
 * Set the classes variable 'certReqFile' to false when you do not want the certificate request saved as a file
 * To save the certificate request use this code: $iDealCerts->certReqFile = $filename . ".csr";
 * The handle acts the same as the other declarations above.
 *
 * @var iDealCerts->certReqFile
 */
 //$iDealCerts->certReqFile = $filename . ".csr";
 $iDealCerts->certReqFile = false;
 
 /**
 * Create the certificates and save those if these options are set accordingly
 * Depending on the variable switch 'export_to_files' the certificates are saved
 * Depending on the variable switch 'return_public_code' the return of the function holds:
 *   'false'     :There was an error, please call '$iDealCerts->error' to view/print the error
 *   'true'      :The function completed succesfully ('return_public_code' set to 'false')
 *   '@var text' :The function returns the Public Certificate code in text format ('return_public_code' set to 'true')
 *
 * @function iDealCerts->certReqFile(var1, var2)
 * @var1 'export_to_files'       value: true or false
 * @var2 'return_public_code'    value: true or false
 */
 $PublicCertCode = $iDealCerts->generate_certificates(true, true);
 
 if (!$PublicCertCode) { // Received 'false'
 echo "ERROR: ".$iDealCerts->error."<br />";
 exit();
 }
 
 /**
 * The variable '$PublicCertCode' holds the certificate code (.cer) which has to be uploaded to your iDEAL supplier.
 * It is saved, when you optioned for that, to your path as '$filename'.cer and you can select this for your upload.
 * For security it is wise to save the certificates outside of the website.   If you've done so and want to save the
 * public certificate to your local harddrive,  show the returned variable '$PublicCertCode' in a textarea where you
 * can select the complete text from and save this text in a file 'filename.cer' on your drive.  You can use this to
 * upload to your iDEAL supplier (based on ING/Postbank iDEAL Advanced! Please see your own suppliers requirements).
 *
 * See the example below:
 */
 
 if ($PublicCertCode === true) {
 echo "Certificates are created!";
 } else {
 echo '<textarea cols="100" rows="15" name="public_cert">' . $PublicCertCode . '</textarea>';
 }
 
 ?>
 |