diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2014-03-15 15:09:48 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2014-03-15 15:09:48 -0300 |
commit | 7d9fff84991467dfe4d28f206663f50e38dbbc6d (patch) | |
tree | 47355573880b175fed210689363c10d6f2d77d2b /mod/foafssl/cert_proxy.php | |
parent | 80ea7ce46f9f6f760570370ff45f73cf29c9e5af (diff) | |
parent | 4fb376687dc1546f51e637cae1478582309f85f0 (diff) | |
download | elgg-7d9fff84991467dfe4d28f206663f50e38dbbc6d.tar.gz elgg-7d9fff84991467dfe4d28f206663f50e38dbbc6d.tar.bz2 |
Merge commit '4fb376687dc1546f51e637cae1478582309f85f0' as 'mod/foafssl'
Diffstat (limited to 'mod/foafssl/cert_proxy.php')
-rw-r--r-- | mod/foafssl/cert_proxy.php | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/mod/foafssl/cert_proxy.php b/mod/foafssl/cert_proxy.php new file mode 100644 index 000000000..5dc4f8b67 --- /dev/null +++ b/mod/foafssl/cert_proxy.php @@ -0,0 +1,64 @@ +<?php + +//----------------------------------------------------------------------------------------------------------------------------------- +// +// Filename : cert.php +// Version : 1.0 +// Date : 3rd Jan 2009 +// +// Decription : This script creates an PKCS12 encoded SSL Certificate which is file transfered to the script caller. +// +// Usage : cert.php?foaf=http://foaf.me/jsmith& +// commonName=J Smith& +// emailAddress=jsmith@example.com& +// organizationName=My Company Ltd& +// organizationalUnitName=Technology Division& +// localityName=Newbury& +// stateOrProvinceName=Berkshire& +// countryName=GB& +// password=secret +// +// All parameters except 'foaf' are optional. Some parameters if missing will default as per openssl.cnf +// +// See Also : Using PHP to create self-signed X.509 Client Certificates +// http://foaf.me/Using_PHP_to_create_X.509_Client_Certificates.php +// +//----------------------------------------------------------------------------------------------------------------------------------- + +// Check if the foaf loaction is specified in the script call + +function request_identity_p12($commonName, $webid, $pubkey, $hours=0.0, $days=0.0) { + $post_fields = array(); + $post_fields['webid'] = $webid; + $post_fields['spkac'] = $pubkey; + $post_fields['hours'] = $hours; + $post_fields['days'] = $days; + $post_fields['keygensubmit'] = "submit certificate request"; + $post_fields['cn'] = $commonName; + $ch = curl_init('http://webid.myxwiki.org/xwiki/bin/view/WebId/CreateCert'); + curl_setopt($ch, CURLOPT_POST ,1); + curl_setopt($ch, CURLOPT_POSTFIELDS ,$post_fields); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,1); + curl_setopt($ch, CURLOPT_HEADER ,0); // DO NOT RETURN HTTP HEADERS + curl_setopt($ch, CURLOPT_RETURNTRANSFER ,1); // RETURN THE CONTENTS OF THE CALL + // should check the error code and warn if something goes wrong + $Rec_Data = curl_exec($ch); + header('Last-Modified: '.date('r+b')); + header('Accept-Ranges: bytes'); + header('Content-Length: '.strlen($Rec_Data)); + header('Content-Type: application/x-x509-user-cert'); + echo $Rec_Data; + return $Rec_Data; + +} + +/*// Create a PKCS12 encoded SSL certificate +if ( $p12 = request_identity_p12( + $countryName, $stateOrProvinceName, $localityName, $organizationName, $organizationalUnitName, $commonName, $emailAddress, + $foafLocation, $pubkey ) ) +{ + // Send the PKCS12 encoded SSL certificate to the script caller as a file transfer + download_identity_p12($p12, $foafLocation); +}*/ + +?> |