UNPKG

cordova-plugin-mas-core

Version:
153 lines (130 loc) 5.6 kB
<!DOCTYPE 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. * &lt;table> * &lt;tr bgcolor="#D3D3D3">&lt;th>MASPluginSecurityConfiguration Constructor&lt;/th>&lt;/tr> * &lt;tr>&lt;td>&lt;i>var MASSecurityConfiguration = new MASPlugin.MASSecurityConfiguration();&lt;/td>&lt;/tr> * &lt;/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&lt;br> Example output -- &lt;br>{&lt;br> &amp;nbsp;&amp;nbsp;host:gw.ca.com:443,&lt;br>&amp;nbsp;&amp;nbsp;isPublic:false,&lt;br>&amp;nbsp;&amp;nbsp;certificates:[Jcnjd...],&lt;br>&amp;nbsp;&amp;nbsp;trustPublicPKI:true&lt;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>