Class: Merchantconfig
- Inherits:
-
Object
- Object
- Merchantconfig
- Defined in:
- lib/AuthenticationSDK/core/MerchantConfig.rb
Overview
This fuction has all the merchantConfig properties getters and setters methods
Instance Attribute Summary collapse
-
#accessToken ⇒ Object
Returns the value of attribute accessToken.
-
#authenticationType ⇒ Object
Returns the value of attribute authenticationType.
-
#clientCertDirectory ⇒ Object
Returns the value of attribute clientCertDirectory.
-
#clientId ⇒ Object
Returns the value of attribute clientId.
-
#clientSecret ⇒ Object
Returns the value of attribute clientSecret.
-
#defaultCustomHeaders ⇒ Object
Returns the value of attribute defaultCustomHeaders.
-
#defaultDeveloperId ⇒ Object
Returns the value of attribute defaultDeveloperId.
-
#disableRequestMLEForMandatoryApisGlobally ⇒ Object
Returns the value of attribute disableRequestMLEForMandatoryApisGlobally.
-
#enableClientCert ⇒ Object
Returns the value of attribute enableClientCert.
-
#enableRequestMLEForOptionalApisGlobally ⇒ Object
Returns the value of attribute enableRequestMLEForOptionalApisGlobally.
-
#enableResponseMleGlobally ⇒ Object
Returns the value of attribute enableResponseMleGlobally.
-
#getId ⇒ Object
Returns the value of attribute getId.
-
#intermediateHost ⇒ Object
Returns the value of attribute intermediateHost.
-
#internalMapToControlRequestMLEonAPI ⇒ Object
Returns the value of attribute internalMapToControlRequestMLEonAPI.
-
#internalMapToControlResponseMLEonAPI ⇒ Object
Returns the value of attribute internalMapToControlResponseMLEonAPI.
-
#keepAliveTime ⇒ Object
Returns the value of attribute keepAliveTime.
-
#keyAlias ⇒ Object
Returns the value of attribute keyAlias.
-
#keyFilename ⇒ Object
Returns the value of attribute keyFilename.
-
#keyPass ⇒ Object
Returns the value of attribute keyPass.
-
#keysDirectory ⇒ Object
Returns the value of attribute keysDirectory.
-
#log_config ⇒ Object
Returns the value of attribute log_config.
-
#log_obj ⇒ Object
Returns the value of attribute log_obj.
-
#logger ⇒ Object
Returns the value of attribute logger.
-
#mapToControlMLEonAPI ⇒ Object
Returns the value of attribute mapToControlMLEonAPI.
-
#merchantId ⇒ Object
getter and setter methods.
-
#merchantKeyId ⇒ Object
Returns the value of attribute merchantKeyId.
-
#merchantSecretKey ⇒ Object
Returns the value of attribute merchantSecretKey.
-
#mleForRequestPublicCertPath ⇒ Object
Returns the value of attribute mleForRequestPublicCertPath.
-
#mleKeyAlias ⇒ Object
Returns the value of attribute mleKeyAlias.
-
#p12KeyFilePath ⇒ Object
Returns the value of attribute p12KeyFilePath.
-
#pemFileDirectory ⇒ Object
Returns the value of attribute pemFileDirectory.
-
#portfolioID ⇒ Object
Returns the value of attribute portfolioID.
-
#privateKey ⇒ Object
Returns the value of attribute privateKey.
-
#proxyAddress ⇒ Object
Returns the value of attribute proxyAddress.
-
#proxyPort ⇒ Object
Returns the value of attribute proxyPort.
-
#refreshToken ⇒ Object
Returns the value of attribute refreshToken.
-
#requestHost ⇒ Object
Returns the value of attribute requestHost.
-
#requestJsonData ⇒ Object
Returns the value of attribute requestJsonData.
-
#requestMleKeyAlias ⇒ Object
Returns the value of attribute requestMleKeyAlias.
-
#requestTarget ⇒ Object
Returns the value of attribute requestTarget.
-
#requestType ⇒ Object
Returns the value of attribute requestType.
-
#requestUrl ⇒ Object
Returns the value of attribute requestUrl.
-
#responseMleKID ⇒ Object
Returns the value of attribute responseMleKID.
-
#responseMlePrivateKey ⇒ Object
Returns the value of attribute responseMlePrivateKey.
-
#responseMlePrivateKeyFilePassword ⇒ Object
Returns the value of attribute responseMlePrivateKeyFilePassword.
-
#responseMlePrivateKeyFilePath ⇒ Object
Returns the value of attribute responseMlePrivateKeyFilePath.
-
#responseMlePrivateKeyPassword ⇒ Object
Returns the value of attribute responseMlePrivateKeyPassword.
-
#runEnvironment ⇒ Object
readonly
Returns the value of attribute runEnvironment.
-
#solutionId ⇒ Object
Returns the value of attribute solutionId.
-
#sslClientCert ⇒ Object
Returns the value of attribute sslClientCert.
-
#sslKeyPassword ⇒ Object
Returns the value of attribute sslKeyPassword.
-
#useMetaKey ⇒ Object
Returns the value of attribute useMetaKey.
-
#useMLEGlobally ⇒ Object
Returns the value of attribute useMLEGlobally.
Instance Method Summary collapse
- #check_key_file ⇒ Object
- #convertBooleanToStringMapType(inputMap) ⇒ Object
-
#initialize(cybsPropertyObj, responseMlePrivateKeyValue = nil, responseMlePrivateKeyPasswordValue = nil) ⇒ Merchantconfig
constructor
A new instance of Merchantconfig.
- #isValidBooleanString?(s) ⇒ Boolean
- #logAllProperties(merchantPropertyObj) ⇒ Object
- #setMapToControlMLEOnAPI(inputMap) ⇒ Object
-
#validateMapToControlMLEonAPIValues(inputMap) ⇒ Object
Validates the map values for MLE control API configuration.
-
#validateMerchantDetails ⇒ Object
fall back logic.
- #validateMLEConfiguration(cybsPropertyObj) ⇒ Object
Constructor Details
#initialize(cybsPropertyObj, responseMlePrivateKeyValue = nil, responseMlePrivateKeyPasswordValue = nil) ⇒ Merchantconfig
Returns a new instance of Merchantconfig.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 10 def initialize(cybsPropertyObj, responseMlePrivateKeyValue = nil, responseMlePrivateKeyPasswordValue = nil) # Common Parameters @merchantId = cybsPropertyObj['merchantID'] @runEnvironment = cybsPropertyObj['runEnvironment'] @intermediateHost = cybsPropertyObj['intermediateHost'] @defaultDeveloperId = cybsPropertyObj['defaultDeveloperId'] @authenticationType = cybsPropertyObj['authenticationType'] @proxyAddress = cybsPropertyObj['proxyAddress'] @proxyPort = cybsPropertyObj['proxyPort'] @getId = '' @requestHost = '' @requestTarget = '' @requestJsonData = '' # HTTP Parameters @merchantSecretKey = cybsPropertyObj['merchantsecretKey'] @merchantKeyId = cybsPropertyObj['merchantKeyId'] # JWT Parameters @keysDirectory = cybsPropertyObj['keysDirectory'] @keyAlias = cybsPropertyObj['keyAlias'] @keyPass = cybsPropertyObj['keyPass'] @keyFilename = cybsPropertyObj['keyFilename'] @useMetaKey = cybsPropertyObj['useMetaKey'] @portfolioID = cybsPropertyObj['portfolioID'] @solutionId = cybsPropertyObj['solutionId'] @p12KeyFilePath = nil # MutualAuth & OAuth Parameters @enableClientCert = cybsPropertyObj['enableClientCert'] @clientCertDirectory = cybsPropertyObj['clientCertDirectory'] @sslClientCert = cybsPropertyObj['sslClientCert'] @privateKey = cybsPropertyObj['privateKey'] @sslKeyPassword = cybsPropertyObj['sslKeyPassword'] @clientId = cybsPropertyObj['clientId'] @clientSecret = cybsPropertyObj['clientSecret'] @accessToken = cybsPropertyObj['accessToken'] @refreshToken = cybsPropertyObj['refreshToken'] # LogConfiguration @log_config = LogConfiguration.new(cybsPropertyObj['logConfiguration']) # Custom Default Headers @defaultCustomHeaders = cybsPropertyObj['defaultCustomHeaders'] # Keep Alive Time for Connection Pooling @keepAliveTime = cybsPropertyObj['keepAliveTime'] || 118 # Default to 118 seconds as same as default of libcurl # Path to client JWE pem file directory @pemFileDirectory = cybsPropertyObj['pemFileDirectory'] # Optional parameter. User can pass a custom requestMleKeyAlias to fetch from the certificate. # Older flag "mleKeyAlias" is deprecated and will be used as alias/another name for requestMleKeyAlias. if cybsPropertyObj.has_key?('mleKeyAlias') @requestMleKeyAlias = cybsPropertyObj['mleKeyAlias'] elsif cybsPropertyObj.has_key?('requestMleKeyAlias') @requestMleKeyAlias = cybsPropertyObj['requestMleKeyAlias'] end # Deprecated flag to enable MLE for request. This flag is now known as "enableRequestMLEForOptionalApisGlobally" @useMLEGlobally = cybsPropertyObj['useMLEGlobally'] # Flag to enable MLE (Message Level Encryption) for request body to all APIs in SDK which have optional support for MLE. # This means the API can send both non-encrypted and encrypted requests. # Older flag "useMLEGlobally" is deprecated and will be used as alias/another name for enableRequestMLEForOptionalApisGlobally. @enableRequestMLEForOptionalApisGlobally = !!(cybsPropertyObj['enableRequestMLEForOptionalApisGlobally'] || cybsPropertyObj['useMLEGlobally']) # Flag to disable MLE (Message Level Encryption) for request body to APIs in SDK which have mandatory MLE requirement when sending calls. @disableRequestMLEForMandatoryApisGlobally = cybsPropertyObj['disableRequestMLEForMandatoryApisGlobally'] # Parameter to pass the request MLE public certificate path. if !cybsPropertyObj['mleForRequestPublicCertPath'].nil? && !cybsPropertyObj['mleForRequestPublicCertPath'].to_s.strip.empty? @mleForRequestPublicCertPath = cybsPropertyObj['mleForRequestPublicCertPath'].to_s.strip end # Map to control MLE (Message Level Encryption) settings for individual API functions. This overrides global MLE configuration for specific APIs. # The key is the function name of the API in the SDK, and the value is a String in the format "requestMLE::responseMLE" separated by "::", # where the first boolean value controls MLE for the request and the second boolean value controls MLE for the response. # Use "true" to enable or "false" to disable MLE for that specific component. # Valid Examples: # mapToControlMLEonAPI.put("apiFunctionName1", "true::true") - enables MLE for both request and response for apiFunctionName1 # mapToControlMLEonAPI.put("apiFunctionName2", "false::false") - disables MLE for both request and response for apiFunctionName2 # mapToControlMLEonAPI.put("apiFunctionName3", "true::false") - enables request MLE only, disables response MLE for apiFunctionName3 # mapToControlMLEonAPI.put("apiFunctionName4", "false::true") - disables request MLE, enables response MLE only for apiFunctionName4 # mapToControlMLEonAPI.put("apiFunctionName5", "false") - disables request MLE only. Since the "::" separator is not included, mleForResponse will use the default value set by the global flag # mapToControlMLEonAPI.put("apiFunctionName6", "true") - enables request MLE only. Since the "::" separator is not included, mleForResponse will use the default value set by the global flag # mapToControlMLEonAPI.put("apiFunctionName7", "::true") - enables response MLE only. Because the value before "::" is missing, the SDK will use the default request MLE value from the global flag # mapToControlMLEonAPI.put("apiFunctionName8", "true::") - enables request MLE only. Since the value after the "::" separator is missing, mleForResponse will use the default value # Invalid Examples (will be ignored or cause errors): # mapToControlMLEonAPI.put("apiFunctionName9", "::") - both values empty, will use global defaults # mapToControlMLEonAPI.put("apiFunctionName10", "invalid::true") - invalid first value, may cause parsing error # mapToControlMLEonAPI.put("apiFunctionName11", "true::invalid") - invalid second value, may cause parsing error # mapToControlMLEonAPI.put("apiFunctionName12", "true::true::false") - multiple separators not allowed # mapToControlMLEonAPI.put("apiFunctionName13", "") - empty string not allowed @mapToControlMLEonAPI = cybsPropertyObj['mapToControlMLEonAPI'] # Initialize internal maps before validation # Both fields used for internal purpose only not exposed for merchants to set @internalMapToControlRequestMLEonAPI = {} @internalMapToControlResponseMLEonAPI = {} # Set up MLE configuration first since validation depends on it if @mapToControlMLEonAPI begin @mapToControlMLEonAPI = convertBooleanToStringMapType(@mapToControlMLEonAPI) setMapToControlMLEOnAPI(@mapToControlMLEonAPI) rescue => err error = StandardError.new(Constants::WARNING_PREFIX + "Unable to initialise MLE control Map from config: #{err.message}") raise error end end if responseMlePrivateKeyPasswordValue.nil? responseMlePrivateKeyPasswordValue = cybsPropertyObj['responseMlePrivateKeyPassword'] end responseMlePrivateKeyPassword = responseMlePrivateKeyPasswordValue if !responseMlePrivateKeyValue.nil? && !cybsPropertyObj['responseMlePrivateKey'].nil? raise StandardError.new(Constants::ERROR_PREFIX + "The value for `responseMlePrivateKey` is provided in both the configuration object and the constructor for MerchantConfig. Please provide only one of them for response mle private key.") end if responseMlePrivateKeyValue.nil? responseMlePrivateKeyValue = cybsPropertyObj['responseMlePrivateKey'] end responseMlePrivateKeyValue = CertificateUtility.convert_key_to_JWK(responseMlePrivateKeyValue, responseMlePrivateKeyPassword) @responseMlePrivateKey = responseMlePrivateKeyValue @enableResponseMleGlobally = false if !cybsPropertyObj['enableResponseMleGlobally'].nil? @enableResponseMleGlobally = cybsPropertyObj['enableResponseMleGlobally'] end @responseMleKID = cybsPropertyObj['responseMleKID'] @responseMlePrivateKeyFilePath = cybsPropertyObj['responseMlePrivateKeyFilePath'] @responseMlePrivateKeyFilePassword = cybsPropertyObj['responseMlePrivateKeyFilePassword'] validateMerchantDetails() validateMLEConfiguration(cybsPropertyObj) @p12KeyFilePath = File.join(@keysDirectory, @keyFilename + ".p12") logAllProperties(cybsPropertyObj) end |
Instance Attribute Details
#accessToken ⇒ Object
Returns the value of attribute accessToken.
635 636 637 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 635 def accessToken @accessToken end |
#authenticationType ⇒ Object
Returns the value of attribute authenticationType.
617 618 619 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 617 def authenticationType @authenticationType end |
#clientCertDirectory ⇒ Object
Returns the value of attribute clientCertDirectory.
629 630 631 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 629 def clientCertDirectory @clientCertDirectory end |
#clientId ⇒ Object
Returns the value of attribute clientId.
633 634 635 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 633 def clientId @clientId end |
#clientSecret ⇒ Object
Returns the value of attribute clientSecret.
634 635 636 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 634 def clientSecret @clientSecret end |
#defaultCustomHeaders ⇒ Object
Returns the value of attribute defaultCustomHeaders.
648 649 650 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 648 def defaultCustomHeaders @defaultCustomHeaders end |
#defaultDeveloperId ⇒ Object
Returns the value of attribute defaultDeveloperId.
621 622 623 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 621 def defaultDeveloperId @defaultDeveloperId end |
#disableRequestMLEForMandatoryApisGlobally ⇒ Object
Returns the value of attribute disableRequestMLEForMandatoryApisGlobally.
652 653 654 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 652 def disableRequestMLEForMandatoryApisGlobally @disableRequestMLEForMandatoryApisGlobally end |
#enableClientCert ⇒ Object
Returns the value of attribute enableClientCert.
628 629 630 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 628 def enableClientCert @enableClientCert end |
#enableRequestMLEForOptionalApisGlobally ⇒ Object
Returns the value of attribute enableRequestMLEForOptionalApisGlobally.
651 652 653 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 651 def enableRequestMLEForOptionalApisGlobally @enableRequestMLEForOptionalApisGlobally end |
#enableResponseMleGlobally ⇒ Object
Returns the value of attribute enableResponseMleGlobally.
659 660 661 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 659 def enableResponseMleGlobally @enableResponseMleGlobally end |
#getId ⇒ Object
Returns the value of attribute getId.
640 641 642 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 640 def getId @getId end |
#intermediateHost ⇒ Object
Returns the value of attribute intermediateHost.
620 621 622 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 620 def intermediateHost @intermediateHost end |
#internalMapToControlRequestMLEonAPI ⇒ Object
Returns the value of attribute internalMapToControlRequestMLEonAPI.
665 666 667 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 665 def internalMapToControlRequestMLEonAPI @internalMapToControlRequestMLEonAPI end |
#internalMapToControlResponseMLEonAPI ⇒ Object
Returns the value of attribute internalMapToControlResponseMLEonAPI.
666 667 668 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 666 def internalMapToControlResponseMLEonAPI @internalMapToControlResponseMLEonAPI end |
#keepAliveTime ⇒ Object
Returns the value of attribute keepAliveTime.
627 628 629 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 627 def keepAliveTime @keepAliveTime end |
#keyAlias ⇒ Object
Returns the value of attribute keyAlias.
622 623 624 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 622 def keyAlias @keyAlias end |
#keyFilename ⇒ Object
Returns the value of attribute keyFilename.
624 625 626 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 624 def keyFilename @keyFilename end |
#keyPass ⇒ Object
Returns the value of attribute keyPass.
623 624 625 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 623 def keyPass @keyPass end |
#keysDirectory ⇒ Object
Returns the value of attribute keysDirectory.
618 619 620 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 618 def keysDirectory @keysDirectory end |
#log_config ⇒ Object
Returns the value of attribute log_config.
642 643 644 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 642 def log_config @log_config end |
#log_obj ⇒ Object
Returns the value of attribute log_obj.
646 647 648 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 646 def log_obj @log_obj end |
#logger ⇒ Object
Returns the value of attribute logger.
641 642 643 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 641 def logger @logger end |
#mapToControlMLEonAPI ⇒ Object
Returns the value of attribute mapToControlMLEonAPI.
654 655 656 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 654 def mapToControlMLEonAPI @mapToControlMLEonAPI end |
#merchantId ⇒ Object
getter and setter methods
614 615 616 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 614 def merchantId @merchantId end |
#merchantKeyId ⇒ Object
Returns the value of attribute merchantKeyId.
616 617 618 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 616 def merchantKeyId @merchantKeyId end |
#merchantSecretKey ⇒ Object
Returns the value of attribute merchantSecretKey.
615 616 617 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 615 def merchantSecretKey @merchantSecretKey end |
#mleForRequestPublicCertPath ⇒ Object
Returns the value of attribute mleForRequestPublicCertPath.
653 654 655 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 653 def mleForRequestPublicCertPath @mleForRequestPublicCertPath end |
#mleKeyAlias ⇒ Object
Returns the value of attribute mleKeyAlias.
655 656 657 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 655 def mleKeyAlias @mleKeyAlias end |
#p12KeyFilePath ⇒ Object
Returns the value of attribute p12KeyFilePath.
657 658 659 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 657 def p12KeyFilePath @p12KeyFilePath end |
#pemFileDirectory ⇒ Object
Returns the value of attribute pemFileDirectory.
649 650 651 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 649 def pemFileDirectory @pemFileDirectory end |
#portfolioID ⇒ Object
Returns the value of attribute portfolioID.
626 627 628 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 626 def portfolioID @portfolioID end |
#privateKey ⇒ Object
Returns the value of attribute privateKey.
632 633 634 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 632 def privateKey @privateKey end |
#proxyAddress ⇒ Object
Returns the value of attribute proxyAddress.
643 644 645 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 643 def proxyAddress @proxyAddress end |
#proxyPort ⇒ Object
Returns the value of attribute proxyPort.
644 645 646 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 644 def proxyPort @proxyPort end |
#refreshToken ⇒ Object
Returns the value of attribute refreshToken.
636 637 638 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 636 def refreshToken @refreshToken end |
#requestHost ⇒ Object
Returns the value of attribute requestHost.
619 620 621 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 619 def requestHost @requestHost end |
#requestJsonData ⇒ Object
Returns the value of attribute requestJsonData.
637 638 639 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 637 def requestJsonData @requestJsonData end |
#requestMleKeyAlias ⇒ Object
Returns the value of attribute requestMleKeyAlias.
656 657 658 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 656 def requestMleKeyAlias @requestMleKeyAlias end |
#requestTarget ⇒ Object
Returns the value of attribute requestTarget.
645 646 647 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 645 def requestTarget @requestTarget end |
#requestType ⇒ Object
Returns the value of attribute requestType.
639 640 641 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 639 def requestType @requestType end |
#requestUrl ⇒ Object
Returns the value of attribute requestUrl.
638 639 640 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 638 def requestUrl @requestUrl end |
#responseMleKID ⇒ Object
Returns the value of attribute responseMleKID.
660 661 662 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 660 def responseMleKID @responseMleKID end |
#responseMlePrivateKey ⇒ Object
Returns the value of attribute responseMlePrivateKey.
663 664 665 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 663 def responseMlePrivateKey @responseMlePrivateKey end |
#responseMlePrivateKeyFilePassword ⇒ Object
Returns the value of attribute responseMlePrivateKeyFilePassword.
662 663 664 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 662 def responseMlePrivateKeyFilePassword @responseMlePrivateKeyFilePassword end |
#responseMlePrivateKeyFilePath ⇒ Object
Returns the value of attribute responseMlePrivateKeyFilePath.
661 662 663 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 661 def responseMlePrivateKeyFilePath @responseMlePrivateKeyFilePath end |
#responseMlePrivateKeyPassword ⇒ Object
Returns the value of attribute responseMlePrivateKeyPassword.
664 665 666 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 664 def responseMlePrivateKeyPassword @responseMlePrivateKeyPassword end |
#runEnvironment ⇒ Object (readonly)
Returns the value of attribute runEnvironment.
658 659 660 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 658 def runEnvironment @runEnvironment end |
#solutionId ⇒ Object
Returns the value of attribute solutionId.
647 648 649 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 647 def solutionId @solutionId end |
#sslClientCert ⇒ Object
Returns the value of attribute sslClientCert.
630 631 632 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 630 def sslClientCert @sslClientCert end |
#sslKeyPassword ⇒ Object
Returns the value of attribute sslKeyPassword.
631 632 633 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 631 def sslKeyPassword @sslKeyPassword end |
#useMetaKey ⇒ Object
Returns the value of attribute useMetaKey.
625 626 627 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 625 def useMetaKey @useMetaKey end |
#useMLEGlobally ⇒ Object
Returns the value of attribute useMLEGlobally.
650 651 652 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 650 def useMLEGlobally @useMLEGlobally end |
Instance Method Details
#check_key_file ⇒ Object
584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 584 def check_key_file # Directory exists? unless Dir.exist?(@keysDirectory) @log_obj.logger.error("Keys Directory not found. Entered directory : #{@keysDirectory}") return false end key_file_pathname = File.join(@keysDirectory, @keyFilename + ".p12") # File exists? unless File.exist?(key_file_pathname) @log_obj.logger.error("Key File not found. Check path/filename entered. Entered path/filename : #{key_file_pathname}") return false end @log_obj.logger.info("Entered value for Key File Path : #{key_file_pathname}") # Can file be opened for reading? begin File.open(key_file_pathname, 'rb') do |f| # Just open and close end return true rescue => e @log_obj.logger.info("File cannot be accessed. Permission denied : #{key_file_pathname}") return false end end |
#convertBooleanToStringMapType(inputMap) ⇒ Object
540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 540 def convertBooleanToStringMapType(inputMap) if inputMap.nil? || inputMap.empty? raise StandardError.new(Constants::ERROR_PREFIX + "Unsupported null value to mapToControlMLEonAPI in merchantConfig. Expected Map<String, String> which corresponds to <'apiFunctionName','flagForRequestMLE::flagForResponseMLE'> as dataType for field.") end unless inputMap.is_a?(Hash) raise TypeError.new(Constants::ERROR_PREFIX + "Unsupported datatype for field mapToControlMLEonAPI. Expected Hash<String, String> which corresponds to <'apiFunctionName','flagForRequestMLE::flagForResponseMLE'> as dataType for field but got: #{inputMap.class}") end keys_all_strings = inputMap.keys.all? { |k| k.is_a?(String) } values_all_strings = inputMap.values.all? { |v| v.is_a?(String) } values_all_bools = inputMap.values.all? { |v| v.is_a?(TrueClass) || v.is_a?(FalseClass) } if keys_all_strings && values_all_strings # Already Hash<String, String> inputMap elsif keys_all_strings && values_all_bools # Convert Hash<String, Boolean> -> Hash<String, String> inputMap.transform_values { |v| v.to_s } else err = StandardError.new("Unsupported map type combination for mapToControlMLEonAPI in merchantConfig. Expected Hash<String, String> which corresponds to <'apiFunctionName','flagForRequestMLE::flagForResponseMLE'> as dataType for field.") @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end end |
#isValidBooleanString?(s) ⇒ Boolean
536 537 538 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 536 def isValidBooleanString?(s) s.casecmp?("true") || s.casecmp?("false") end |
#logAllProperties(merchantPropertyObj) ⇒ Object
566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 566 def logAllProperties(merchantPropertyObj) propertyObj = Marshal.load(Marshal.dump(merchantPropertyObj)) merchantConfig = '' hiddenProperties = (Constants::HIDDEN_MERCHANT_PROPERTIES).split(',') hiddenPropArray = Array.new hiddenProperties.each do |value| hiddenPropArray << value.strip end hiddenPropArray.each do |prop| propertyObj.each do |key, value| if key == prop propertyObj.delete(key) end end end @log_obj.logger.info('Merchant Configuration :\n' + propertyObj.to_s) end |
#setMapToControlMLEOnAPI(inputMap) ⇒ Object
456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 456 def setMapToControlMLEOnAPI(inputMap) # validate the map value format validateMapToControlMLEonAPIValues(inputMap) if inputMap # @mapToControlMLEonAPI = inputMap if inputMap internalRequest = {} internalResponse = {} inputMap.each do |apiName, rawValue| value = rawValue.to_s if value.include?("::") # Format: "requestMLE::responseMLE" requestMLE, responseMLE = value.split("::", 2) # Set request MLE value when present unless requestMLE.nil? || requestMLE.empty? internalRequest[apiName] = requestMLE.to_s.strip.casecmp?("true") end # Set response MLE value when present unless responseMLE.nil? || responseMLE.empty? internalResponse[apiName] = responseMLE.to_s.strip.casecmp?("true") end else # Format: "true" or "false" - applies to request MLE only internalRequest[apiName] = value.to_s.strip.casecmp?("true") end end @internalMapToControlRequestMLEonAPI = internalRequest @internalMapToControlResponseMLEonAPI = internalResponse end end |
#validateMapToControlMLEonAPIValues(inputMap) ⇒ Object
Validates the map values for MLE control API configuration. Allowed formats: “true::true”, “false::false”, “::true”, “true::”, “::false”, “false::”, “true”, “false”
495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 495 def validateMapToControlMLEonAPIValues(inputMap) inputMap.each do |key, value| if value.nil? || value == "" err = StandardError.new(Constants::ERROR_PREFIX + "Invalid MLE control map value for key '#{key}'. Value cannot be null or empty.") @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end str = value.to_s if str.include?("::") parts = str.split("::", -1) unless parts.length == 2 err = StandardError.new(Constants::ERROR_PREFIX + "Invalid MLE control map value format for key '#{key}'. Expected format: true/false for 'requestMLE::responseMLE' but got: '#{str}'") @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end requestMLE, responseMLE = parts if !requestMLE.empty? && !isValidBooleanString?(requestMLE) err = StandardError.new(Constants::ERROR_PREFIX + "Invalid request MLE value for key '#{key}'. Expected 'true', 'false', or empty but got: '#{requestMLE}'") @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end if !responseMLE.empty? && !isValidBooleanString?(responseMLE) err = StandardError.new(Constants::ERROR_PREFIX + "Invalid response MLE value for key '#{key}'. Expected 'true', 'false', or empty but got: '#{responseMLE}'") @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end else unless isValidBooleanString?(str) err = StandardError.new(Constants::ERROR_PREFIX + "Invalid MLE control map value for key '#{key}'. Expected 'true' or 'false' for requestMLE but got: '#{str}'") @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end end end end |
#validateMerchantDetails ⇒ Object
fall back logic
150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 150 def validateMerchantDetails() if !@keepAliveTime.is_a?(Integer) err = StandardError.new(Constants::ERROR_PREFIX + "keepAliveTime must be an integer and in seconds") raise err end = '' @log_config.validate() @log_obj = Log.new @log_config, "MerchantConfig" @log_obj.logger.info('START> =======================================') if !.to_s.empty? @log_obj.logger.warn(ExceptionHandler.new.new_api_warning ) end if @authenticationType.to_s.empty? err = StandardError.new(Constants::ERROR_PREFIX + Constants::AUTH_TYPE_MANDATORY) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end if !@authenticationType.instance_of? String err = StandardError.new(Constants::ERROR_PREFIX+ Constants::AUTH_ERROR) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end if !@runEnvironment.to_s.empty? if !@runEnvironment.instance_of? String @requestHost = @runEnvironment.to_s end if Constants::OLD_RUN_ENVIRONMENT_CONSTANTS.include?(@runEnvironment.upcase) err = StandardError.new(Constants::ERROR_PREFIX + Constants::DEPRECATED_ENVIRONMENT) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err else @requestHost = @runEnvironment end elsif @runEnvironment.to_s.empty? err = StandardError.new(Constants::ERROR_PREFIX + Constants::RUN_ENVIRONMENT) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end if !@enableClientCert.nil? && @enableClientCert if @sslClientCert.to_s.empty? err = StandardError.new(Constants::ERROR_PREFIX + Constants::SSL_CLIENT_CERT_EMPTY) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err elsif !@sslClientCert.instance_of? String @sslClientCert=@sslClientCert.to_s end if @privateKey.to_s.empty? err = StandardError.new(Constants::ERROR_PREFIX + Constants::PRIVATE_KEY_EMPTY) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err elsif !@privateKey.instance_of? String @privateKey=@privateKey.to_s end if @sslKeyPassword.to_s.empty? err = Constants::WARNING_PREFIX + Constants::SSL_KEY_PASSWORD_EMPTY @log_obj.logger.warn(ExceptionHandler.new.new_api_warning err) raise err elsif !@sslKeyPassword.instance_of? String @sslKeyPassword=@sslKeyPassword.to_s end if @clientCertDirectory.to_s.empty? err = StandardError.new(Constants::ERROR_PREFIX + Constants::CLIENT_CERT_DIR_EMPTY) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err elsif !@clientCertDirectory.instance_of? String @clientCertDirectory=@clientCertDirectory.to_s end end if @authenticationType.upcase == Constants::AUTH_TYPE_JWT if @merchantId.to_s.empty? err = StandardError.new(Constants::ERROR_PREFIX + Constants::MERCHANT_ID_NULL) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err elsif !@merchantId.instance_of? String @merchantId=@merchantId.to_s end if @keyAlias.to_s.empty? @keyAlias = @merchantId @log_obj.logger.warn(ExceptionHandler.new.new_api_warning Constants::WARNING_PREFIX + Constants::KEY_ALIAS_NULL_EMPTY) elsif !@keyAlias.instance_of? String @keyAlias=@keyAlias.to_s elsif @keyAlias != @merchantId @keyAlias = @merchantId @log_obj.logger.warn(ExceptionHandler.new.new_api_warning Constants::WARNING_PREFIX + Constants::INCORRECT_KEY_ALIAS) end if @keyPass.to_s.empty? @keyPass = @merchantId @log_obj.logger.warn(ExceptionHandler.new.new_api_warning Constants::WARNING_PREFIX + Constants::KEY_PASS_NULL) elsif !@keyPass.instance_of? String @keyPass=@keyPass.to_s end if @keysDirectory.to_s.empty? @keysDirectory = Constants::DEFAULT_KEY_DIRECTORY @log_obj.logger.warn(ExceptionHandler.new.new_api_warning Constants::WARNING_PREFIX + Constants::KEY_DIRECTORY_EMPTY + @keysDirectory) elsif !@keysDirectory.instance_of? String @keysDirectory=@keysDirectory.to_s end if @keyFilename.to_s.empty? @keyFilename = @merchantId @log_obj.logger.warn(ExceptionHandler.new.new_api_warning Constants::WARNING_PREFIX + Constants::KEY_FILE_NAME_NULL_EMPTY) elsif !@keyFilename.instance_of? String @keyFilename=@keyFilename.to_s end if !check_key_file @log_obj.logger.error(ExceptionHandler.new.new_custom_error "Error finding or accessing the Key Directory or Key File. Please review the values in the merchant configuration.") end end if @authenticationType.upcase == Constants::AUTH_TYPE_MUTUAL_AUTH if @clientId.to_s.empty? err = StandardError.new(Constants::ERROR_PREFIX + Constants::CLIENT_ID_EMPTY) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err elsif !@clientId.instance_of? String @clientId=@clientId.to_s end if @clientSecret.to_s.empty? err = StandardError.new(Constants::ERROR_PREFIX + Constants::CLIENT_SECRET_EMPTY) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err elsif !@clientSecret.instance_of? String @clientSecret=@clientSecret.to_s end end if @authenticationType.upcase == Constants::AUTH_TYPE_OAUTH if @accessToken.to_s.empty? err = StandardError.new(Constants::ERROR_PREFIX + Constants::ACCESS_TOKEN_EMPTY) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err elsif !@accessToken.instance_of? String @accessToken=@accessToken.to_s end if @refreshToken.to_s.empty? err = StandardError.new(Constants::ERROR_PREFIX + Constants::REFRESH_TOKEN_EMPTY) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err elsif !@refreshToken.instance_of? String @refreshToken=@refreshToken.to_s end end if @authenticationType.upcase == Constants::AUTH_TYPE_HTTP if @merchantId.to_s.empty? err = StandardError.new(Constants::ERROR_PREFIX + Constants::MERCHANT_ID_NULL) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err elsif !@merchantId.instance_of? String @merchantId=@merchantId.to_s end if @merchantKeyId.to_s.empty? err = StandardError.new(Constants::ERROR_PREFIX+ Constants::MERCHANT_KEY_ID_MANDATORY) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err elsif !@merchantKeyId.instance_of? String @merchantKeyId=@merchantKeyId.to_s end if @merchantSecretKey.to_s.empty? err = StandardError.new(Constants::ERROR_PREFIX+ Constants::MERCHANT_SECRET_KEY_MANDATORY) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err elsif !@merchantSecretKey.instance_of? String @merchantSecretKey=@merchantSecretKey.to_s end end if @useMetaKey && @portfolioID.to_s.empty? err = StandardError.new(Constants::ERROR_PREFIX+ Constants::PORTFOLIO_ID_MANDATORY) @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end if !@proxyAddress.instance_of? String @proxyAddress=@proxyAddress.to_s end if !@proxyPort.instance_of? String @proxyPort=@proxyPort.to_s end unless @pemFileDirectory.instance_of? String @pemFileDirectory = @pemFileDirectory.to_s end end |
#validateMLEConfiguration(cybsPropertyObj) ⇒ Object
333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 |
# File 'lib/AuthenticationSDK/core/MerchantConfig.rb', line 333 def validateMLEConfiguration(cybsPropertyObj) if !@useMLEGlobally.nil? && !cybsPropertyObj['enableRequestMLEForOptionalApisGlobally'].nil? if @useMLEGlobally != cybsPropertyObj['enableRequestMLEForOptionalApisGlobally'] raise StandardError.new(Constants::ERROR_PREFIX + "useMLEGlobally and enableRequestMLEForOptionalApisGlobally must have the same value if both are set") end end if @disableRequestMLEForMandatoryApisGlobally.nil? @disableRequestMLEForMandatoryApisGlobally = false end unless [true, false].include?(@disableRequestMLEForMandatoryApisGlobally) err = StandardError.new(Constants::ERROR_PREFIX + "disableRequestMLEForMandatoryApisGlobally must be a boolean") @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end unless [true, false].include?(@enableRequestMLEForOptionalApisGlobally) err = StandardError.new(Constants::ERROR_PREFIX + "enableRequestMLEForOptionalApisGlobally must be a boolean") @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end # unless @mapToControlMLEonAPI.is_a?(Hash) && @mapToControlMLEonAPI.keys.all? {|k| k.is_a?(String)} && @mapToControlMLEonAPI.values.all? { |v| [true, false].include?(v) } # err = StandardError.new(Constants::ERROR_PREFIX + "mapToControlMLEonAPI must be a map with boolean values") # @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) # raise err # end !@requestMleKeyAlias.nil? && unless @requestMleKeyAlias.instance_of? String err = StandardError.new(Constants::ERROR_PREFIX + "requestMleKeyAlias must be a string") @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end if @requestMleKeyAlias.to_s.empty? @requestMleKeyAlias = Constants::DEFAULT_ALIAS_FOR_MLE_CERT end if @mleForRequestPublicCertPath && !@mleForRequestPublicCertPath.to_s.strip.empty? begin CertificateUtility.validatePathAndFile(@mleForRequestPublicCertPath, "mleForRequestPublicCertPath", @log_config) rescue => err @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end end request_mle_configured = @enableRequestMLEForOptionalApisGlobally if !@internalMapToControlRequestMLEonAPI.nil? && !@internalMapToControlRequestMLEonAPI.empty? @internalMapToControlRequestMLEonAPI.each do |_, value| if value request_mle_configured = true break end end end if request_mle_configured && !Constants::AUTH_TYPE_JWT.eql?(@authenticationType.upcase) err = StandardError.new(Constants::ERROR_PREFIX + "Request MLE can only be used with JWT authentication") @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end is_response_mle_configured = @enableResponseMleGlobally if !@internalMapToControlResponseMLEonAPI.nil? && !@internalMapToControlResponseMLEonAPI.empty? @internalMapToControlResponseMLEonAPI.values.each do |value| if value == true is_response_mle_configured = true break end end end if is_response_mle_configured # Validate for Auth type- Currently responseMLE feature will be enabled for JWT auth type only if !Constants::AUTH_TYPE_JWT.eql?(@authenticationType.upcase) err = StandardError.new(Constants::ERROR_PREFIX + "Response MLE can only be used with JWT authentication type") @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end # Check if either private key object or private key file path is provided if @responseMlePrivateKey.nil? || @responseMlePrivateKey.to_s.strip.empty? if @responseMlePrivateKeyFilePath.nil? || @responseMlePrivateKeyFilePath.to_s.strip.empty? err = StandardError.new(Constants::ERROR_PREFIX + "Response MLE is enabled but no private key provided. Either set responseMlePrivateKey object or provide responseMlePrivateKeyFilePath.") @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end end # Check that both private key object or private key file path should not be provided if !@responseMlePrivateKey.nil? && !@responseMlePrivateKey.to_s.strip.empty? && !@responseMlePrivateKeyFilePath.nil? && !@responseMlePrivateKeyFilePath.to_s.strip.empty? err = StandardError.new(Constants::ERROR_PREFIX + "Both responseMlePrivateKey object and responseMlePrivateKeyFilePath are provided. Please provide only one of them for response mle private key.") @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end isP12 = false # If private key file path is provided, validate the file exists if !@responseMlePrivateKeyFilePath.nil? && !@responseMlePrivateKeyFilePath.to_s.strip.empty? begin CertificateUtility.validatePathAndFile(@responseMlePrivateKeyFilePath, "responseMlePrivateKeyFilePath", @log_config) ext = File.extname(@responseMlePrivateKeyFilePath).downcase if ext == '.p12' || ext == '.pfx' isP12 = true end rescue => err error = StandardError.new(Constants::ERROR_PREFIX + "Invalid responseMlePrivateKeyFilePath : #{err.message}") @log_obj.logger.error(ExceptionHandler.new.new_api_exception error) raise error end end # Validate responseMleKID is provided when response MLE is enabled if !isP12 && (@responseMleKID.nil? || @responseMleKID.to_s.strip.empty?) err = StandardError.new(Constants::ERROR_PREFIX + "responseMleKID is required when response MLE is enabled for non-P12/PFX files.") @log_obj.logger.error(ExceptionHandler.new.new_api_exception err) raise err end end end |