summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorbjoernr-de <bjoern.roland@gmail.com>2015-03-25 21:18:12 +0100
committerbjoernr-de <bjoern.roland@gmail.com>2015-03-25 21:18:12 +0100
commit3a77a11a6d2d3f15d4c78d99a5b4acc5e5226c95 (patch)
tree03774d2b903da7f9023c3590b078946035ba9eb0 /README.md
downloadphp-ssllabs-api-3a77a11a6d2d3f15d4c78d99a5b4acc5e5226c95.zip
php-ssllabs-api-3a77a11a6d2d3f15d4c78d99a5b4acc5e5226c95.tar.gz
php-ssllabs-api-3a77a11a6d2d3f15d4c78d99a5b4acc5e5226c95.tar.bz2
Initial commit
Diffstat (limited to 'README.md')
-rw-r--r--README.md223
1 files changed, 223 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..353463f
--- /dev/null
+++ b/README.md
@@ -0,0 +1,223 @@
+# PHP-SSLLabs-API
+This PHP library provides basic access to the SSL Labs API.
+
+It's build upon the official API documentation at https://github.com/ssllabs/ssllabs-scan/blob/master/ssllabs-api-docs.md
+```PHP
+<?php
+
+require_once 'sslLabsApi.php';
+
+$api = new sslLabsApi();
+
+//Set content-type header for JSON output
+header('Content-Type: application/json');
+
+//get API information
+echo $api->fetchApiInfo();
+
+?>
+```
+
+## fetchApiInfo()
+No parameters needed
+
+Returns an Info object (see https://github.com/ssllabs/ssllabs-scan/blob/master/ssllabs-api-docs.md#info).
+
+## fetchStatusCodes()
+No parameters needed
+
+Returns a StatusCodes instance (see https://github.com/ssllabs/ssllabs-scan/blob/master/ssllabs-api-docs.md#statuscodes).
+
+## fetchHostInformation()
+See https://github.com/ssllabs/ssllabs-scan/blob/master/ssllabs-api-docs.md#invoke-assessment-and-check-progress for parameter description.
+
+| Parameter | Type | Default value | |
+|---------------------|---------|---------------|----------|
+| **host** | string | | Required |
+| **publish** | boolean | false | |
+| **startNew** | boolean | false | |
+| **fromCache** | boolean | false | |
+| **maxAge** | int | null | |
+| **all** | string | null | |
+| **ignoreMismatch** | boolean | false | |
+
+Returns a Host object (see https://github.com/ssllabs/ssllabs-scan/blob/master/ssllabs-api-docs.md#host).
+
+Make sure to check the 'status' attribute inside Host object.
+
+## fetchHostInformationCached()
+You can also use fetchHostInformation() with the proper parameters, this is just a helper function.
+
+| Parameter | Type | Default value | |
+|---------------------|---------|---------------|----------|
+| **host** | string | | Required |
+| **maxAge** | int | null | |
+| **publish** | boolean | false | |
+| **ignoreMismatch** | boolean | false | |
+
+Returns a Host object (see https://github.com/ssllabs/ssllabs-scan/blob/master/ssllabs-api-docs.md#host).
+
+Also make sure to check the 'status' attribute inside Host object.
+
+## fetchEndpointData()
+See https://github.com/ssllabs/ssllabs-scan/blob/master/ssllabs-api-docs.md#retrieve-detailed-endpoint-information for parameter description.
+
+| Parameter | Type | Default value | |
+|----------------|---------|---------------|----------|
+| **host** | string | | Required |
+| **s** | string | | Required |
+| **fromCache** | boolean | false | |
+
+Returns an Endpoint object (see https://github.com/ssllabs/ssllabs-scan/blob/master/ssllabs-api-docs.md#endpoint).
+
+## Custom API calls
+Use sendApiRequest() method to create custom API calls.
+
+| Parameter | Type | Default value | |
+|-----------------|--------|---------------|----------|
+| **apiCall** | string | | Required |
+| **parameters** | array | | |
+
+```PHP
+$api->sendApiRequest('apiCallName', array('p1' => 'p1_value', 'p2' => 'p2_value'));
+```
+
+## Example output
+### Get API information
+```PHP
+$api->fetchApiInfo();
+```
+```JSON
+{
+ "engineVersion": "1.15.1",
+ "criteriaVersion": "2009i",
+ "clientMaxAssessments": 25,
+ "maxAssessments": 25,
+ "currentAssessments": 0,
+ "messages": [
+ "This assessment service is provided free of charge by Qualys SSL Labs, subject to our terms and conditions: https://www.ssllabs.com/about/terms.html"
+ ]
+}
+```
+
+### Get host information
+```PHP
+$api->fetchHostInformation('https://www.google.de');
+```
+```JSON
+{
+ "host": "https://www.google.de",
+ "port": 443,
+ "protocol": "HTTP",
+ "isPublic": false,
+ "status": "READY",
+ "startTime": 1427195976527,
+ "testTime": 1427196284525,
+ "engineVersion": "1.15.1",
+ "criteriaVersion": "2009i",
+ "endpoints": [
+ {
+ "ipAddress": "74.125.239.119",
+ "serverName": "nuq05s01-in-f23.1e100.net",
+ "statusMessage": "Ready",
+ "grade": "B",
+ "hasWarnings": false,
+ "isExceptional": false,
+ "progress": 100,
+ "duration": 77376,
+ "eta": 1610,
+ "delegation": 3
+ },
+ {
+ "ipAddress": "74.125.239.120",
+ "serverName": "nuq05s01-in-f24.1e100.net",
+ "statusMessage": "Ready",
+ "grade": "B",
+ "hasWarnings": false,
+ "isExceptional": false,
+ "progress": 100,
+ "duration": 76386,
+ "eta": 1609,
+ "delegation": 3
+ },
+ {
+ "ipAddress": "74.125.239.127",
+ "serverName": "nuq05s01-in-f31.1e100.net",
+ "statusMessage": "Ready",
+ "grade": "B",
+ "hasWarnings": false,
+ "isExceptional": false,
+ "progress": 100,
+ "duration": 76937,
+ "eta": 1608,
+ "delegation": 3
+ },
+ {
+ "ipAddress": "74.125.239.111",
+ "serverName": "nuq05s01-in-f15.1e100.net",
+ "statusMessage": "Ready",
+ "grade": "B",
+ "hasWarnings": false,
+ "isExceptional": false,
+ "progress": 100,
+ "duration": 77171,
+ "eta": 1606,
+ "delegation": 3
+ }
+ ]
+}
+```
+
+### Get endpoint information
+```PHP
+$api->fetchEndpointData('https://www.google.de', '74.125.239.111');
+```
+
+(just an except of the entire JSON output)
+```JSON
+{
+ "ipAddress": "74.125.239.111",
+ "serverName": "nuq05s01-in-f15.1e100.net",
+ "statusMessage": "Ready",
+ "grade": "B",
+ "hasWarnings": false,
+ "isExceptional": false,
+ "progress": 100,
+ "duration": 77171,
+ "eta": 1609,
+ "delegation": 3,
+ "details": {
+ "hostStartTime": 1427195976527,
+ "key": {},
+ "cert": {},
+ "chain": {},
+ "protocols": [],
+ "suites": {},
+ "serverSignature": "gws",
+ "prefixDelegation": true,
+ "nonPrefixDelegation": true,
+ "vulnBeast": false,
+ "renegSupport": 2,
+ "sessionResumption": 1,
+ "compressionMethods": 0,
+ "supportsNpn": true,
+ "npnProtocols": "h2-15 h2-14 spdy/3.1 spdy/3 http/1.1",
+ "sessionTickets": 1,
+ "ocspStapling": false,
+ "sniRequired": false,
+ "httpStatusCode": 200,
+ "supportsRc4": true,
+ "forwardSecrecy": 2,
+ "rc4WithModern": true,
+ "sims": {},
+ "heartbleed": false,
+ "heartbeat": false,
+ "openSslCcs": 1,
+ "poodleTls": 1,
+ "fallbackScsv": true
+ }
+}
+```
+
+# Terms and Conditions
+As this is just a PHP library for SSL Labs API please refer to SSL Labs Terms and Conditions at https://www.ssllabs.com/about/terms.html \ No newline at end of file