cordova-plugin-mas-core
Version:
Cordova MAS Foundation Plugin
153 lines (130 loc) • 5.6 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: MASPluginSecurityConfiguration.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: MASPluginSecurityConfiguration.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>/*
* Copyright (c) 2016 CA, Inc. All rights reserved.
* This software may be modified and distributed under the terms
* of the MIT license. See the LICENSE file for details.
*
*/
/**
* @class MASPluginSecurityConfiguration
* @hideconstructor
* @classdesc A class to set MAS Security Configuration for a server based on the trust settings.
* <table>
* <tr bgcolor="#D3D3D3"><th>MASPluginSecurityConfiguration Constructor</th></tr>
* <tr><td><i>var MASSecurityConfiguration = new MASPlugin.MASSecurityConfiguration();</td></tr>
* </table>
*/
var MASPluginSecurityConfiguration = function(){
this.json = {
host : null,
isPublic : false,
certificates : [],
publicKeyHashes : [],
trustPublicPKI : false,
pinningMode : 1
},
/**
* Set the host of the server that you want to connect
* @memberOf MASPluginSecurityConfiguration
* @function setHost
* @instance
* @param {string} host Uri object containing the hostname, and port number.
*/
this.setHost = function(pHost){
this.json.host = pHost;
},
/**
* Sets the public/private scope of the server.
* @memberOf MASPluginSecurityConfiguration
* @function setPublic
* @instance
* @param {boolean} isPublic Boolean value that specifes whether the server is public or not.
*/
this.setPublic = function(pPublic){
this.json.isPublic = pPublic;
},
/**
* Set the certificate of the host server
* @memberOf MASPluginSecurityConfiguration
* @function addCertificate
* @instance
* @param {string} certificate The pinned certificate in Base64 string format
*/
this.addCertificate = function(certificate){
this.json.certificates.push(certificate);
},
/**
* Set the public keys of the host server
* @function addPublicKeyHash
* @instance
* @memberOf MASPluginSecurityConfiguration
* @param {string} publicKeyHash String value in Base64 of the pinned public key hash.
*/
this.addPublicKeyHash = function(publicKeyHash){
this.json.publicKeyHashes.push(publicKeyHash);
},
/**
* Determines whether to trust Public PKI for the host server.
* @memberOf MASPluginSecurityConfiguration
* @function setTrustPublicPKI
* @instance
* @param {boolean} trustPublicPKI Boolean value to trust, or not to trust the public PKI. If false, provide either the certificate, or the publicKeyHash.
*/
this.setTrustPublicPKI = function(pTrustPublicPKI){
this.json.trustPublicPKI = pTrustPublicPKI;
},
/**
* Set the SSL Pinning mode needed.
* @memberOf MASPluginSecurityConfiguration
* @function setPinningMode
* @instance
* @param {MASSecuritySSLPinningMode} pinningMode enum value to specify the type of SSL pinning needed.
* The Certifcates array needs to be set accordingly with the certificates that needs to be pinned.
* If MASSecuritySSLPinningModeIntermediateCertifcate is chosen, then the certificates array should contain intermediate certificate.
*/
this.setPinningMode = function(pinningMode){
this.json.pinningMode = pinningMode;
},
/**
* Gets the final MASSecurityConfiguration as a JSON object
* @function getSecurityConfiguration
* @instance
* @memberOf MASPluginSecurityConfiguration
* @returns {Object} MASSecurityConfiguration object<br> Example output -- <br>{<br> &nbsp;&nbsp;host:gw.ca.com:443,<br>&nbsp;&nbsp;isPublic:false,<br>&nbsp;&nbsp;certificates:[Jcnjd...],<br>&nbsp;&nbsp;trustPublicPKI:true<br>}
*/
this.getSecurityConfiguration = function(){
return this.json;
}
}
module.exports = MASPluginSecurityConfiguration;</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="MASPlugin.html">MASPlugin</a></li><li><a href="MASPluginApplication.html">MASPluginApplication</a></li><li><a href="MASPluginAuthProviders.html">MASPluginAuthProviders</a></li><li><a href="MASPluginConstants.html">MASPluginConstants</a></li><li><a href="MASPluginDevice.html">MASPluginDevice</a></li><li><a href="MASPluginMAS.html">MASPluginMAS</a></li><li><a href="MASPluginMultipartForm.html">MASPluginMultipartForm</a></li><li><a href="MASPluginSecurityConfiguration.html">MASPluginSecurityConfiguration</a></li><li><a href="MASPluginUser.html">MASPluginUser</a></li><li><a href="MASPluginUtils.html">MASPluginUtils</a></li></ul><h3><a href="global.html">Global</a></h3>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.3</a> on Tue Feb 18 2020 21:13:36 GMT+0530 (India Standard Time)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>