Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
143 changes: 132 additions & 11 deletions Data/ConfigurationWithMLE.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,18 @@ function MLEConfiguration1() {
'loggingLevel': 'debug',
'enableMasking': EnableMasking
},
'useMLEGlobally': true, //globally MLE will be enabled for all the MLE supported APIs by Cybs in SDK
'mleKeyAlias':"CyberSource_SJC_US" //this is optional paramter, not required to set the parameter if custom value is not required for MLE key alias. Default value is "CyberSource_SJC_US".

//Set Request MLE Settings in Merchant Configuration [Refer MLE.md on cybersource-rest-client-node github repo]
'enableRequestMLEForOptionalApisGlobally': true, //Enables request MLE globally for all APIs that have optional MLE support //same as older deprecated variable "useMLEGlobally" //APIs that has MLE Request mandatory is default has MLE support in SDK without any configuration but support with JWT auth type.
'requestMleKeyAlias':"CyberSource_SJC_US", //this is optional parameter, not required to set the parameter if custom value is not required for MLE key alias. Default value is "CyberSource_SJC_US". //same as older deprecated variable "mleKeyAlias"

//Set Response MLE Settings in Merchant Configuration [Refer MLE.md on cybersource-rest-client-node github repo]
'enableResponseMleGlobally': false, //Enables/Disable response MLE globally for all APIs that support MLE responses
'responseMlePrivateKeyFilePath': "", //Path to the Response MLE private key file. Supported formats: .p12, .pfx, .pem, .key, .p8. Recommendation use encrypted private Key (password protection) for MLE response.
'responseMlePrivateKeyFilePassword': "", //Password for the private key file (required for .p12/.pfx files or encrypted private keys).
'responseMleKID': "" //This parameter is optional when responseMlePrivateKeyFilePath points to a CyberSource-generated P12 file. If not provided, the SDK will automatically fetch the Key ID from the P12 file. If provided, the SDK will use the user-provided value instead of the auto-fetched value.
//Required when using PEM format files (.pem, .key, .p8) or when providing responseMlePrivateKey object directly.

};
return configObj;

Expand Down Expand Up @@ -99,12 +109,23 @@ function MLEConfiguration2() {
'loggingLevel': 'debug',
'enableMasking': EnableMasking
},
'useMLEGlobally': true, //globally MLE will be enabled for all the MLE supported APIs by Cybs in SDK

//Set Request MLE Settings in Merchant Configuration [Refer MLE.md on cybersource-rest-client-node github repo]
'mapToControlMLEonAPI':{
"createPayment":false, //only createPayment function will have MLE=false i.e. (/pts/v2/payments POST API) out of all MLE supported APIs
"capturePayment":true //capturePayment function will have MLE=true i.e. (/pts/v2/payments/{id}/captures POST API), if it not in list of MLE supportedAPIs else it will already have MLE=true by global MLE parameter.
"createPayment":"false", //only createPayment function will have MLE=false i.e. (/pts/v2/payments POST API) out of all MLE supported APIs
"capturePayment":"true" //capturePayment function will have MLE=true i.e. (/pts/v2/payments/{id}/captures POST API), if it not in list of MLE supportedAPIs else it will already have MLE=true by global MLE parameter.
},
'mleKeyAlias':"CyberSource_SJC_US" //this is optional paramter, not required to set the parameter/value if custom value is not required for MLE key alias. Default value is "CyberSource_SJC_US".

'enableRequestMLEForOptionalApisGlobally': true, //Enables request MLE globally for all APIs that have optional MLE support //same as older deprecated variable "useMLEGlobally"
'requestMleKeyAlias':"CyberSource_SJC_US", //this is optional parameter, not required to set the parameter if custom value is not required for MLE key alias. Default value is "CyberSource_SJC_US". //same as older deprecated variable "mleKeyAlias"

//Set Response MLE Settings in Merchant Configuration [Refer MLE.md on cybersource-rest-client-node github repo]
'enableResponseMleGlobally': false, //Enables/Disable response MLE globally for all APIs that support MLE responses
'responseMlePrivateKeyFilePath': "", //Path to the Response MLE private key file. Supported formats: .p12, .pfx, .pem, .key, .p8. Recommendation use encrypted private Key (password protection) for MLE response.
'responseMlePrivateKeyFilePassword': "", //Password for the private key file (required for .p12/.pfx files or encrypted private keys).
'responseMleKID': "" //This parameter is optional when responseMlePrivateKeyFilePath points to a CyberSource-generated P12 file. If not provided, the SDK will automatically fetch the Key ID from the P12 file. If provided, the SDK will use the user-provided value instead of the auto-fetched value.
//Required when using PEM format files (.pem, .key, .p8) or when providing responseMlePrivateKey object directly.

};
return configObj;

Expand Down Expand Up @@ -138,12 +159,110 @@ function MLEConfiguration3() {
'loggingLevel': 'debug',
'enableMasking': EnableMasking
},
'useMLEGlobally': false, //globally MLE will be disabled for all the APIs in SDK

//Set Request MLE Settings in Merchant Configuration [Refer MLE.md on cybersource-rest-client-node github repo]
'mapToControlMLEonAPI':{
"createPayment":true, //only createPayment function will have MLE=true i.e. (/pts/v2/payments POST API)
"capturePayment":true //only capturePayment function will have MLE=true i.e. (/pts/v2/payments/{id}/captures POST API)
"createPayment":"true", //only createPayment function will have MLE=true i.e. (/pts/v2/payments POST API)
"capturePayment":"true" //only capturePayment function will have MLE=true i.e. (/pts/v2/payments/{id}/captures POST API)
},

'enableRequestMLEForOptionalApisGlobally': false, //Disabled request MLE globally for all APIs that have optional MLE support //same as older deprecated variable "useMLEGlobally"
'requestMleKeyAlias':"CyberSource_SJC_US", //this is optional parameter, not required to set the parameter if custom value is not required for MLE key alias. Default value is "CyberSource_SJC_US". //same as older deprecated variable "mleKeyAlias"

//Set Response MLE Settings in Merchant Configuration [Refer MLE.md on cybersource-rest-client-node github repo]
'enableResponseMleGlobally': false, //Enables/Disable response MLE globally for all APIs that support MLE responses
'responseMlePrivateKeyFilePath': "", //Path to the Response MLE private key file. Supported formats: .p12, .pfx, .pem, .key, .p8. Recommendation use encrypted private Key (password protection) for MLE response.
'responseMlePrivateKeyFilePassword': "", //Password for the private key file (required for .p12/.pfx files or encrypted private keys).
'responseMleKID': "" //This parameter is optional when responseMlePrivateKeyFilePath points to a CyberSource-generated P12 file. If not provided, the SDK will automatically fetch the Key ID from the P12 file. If provided, the SDK will use the user-provided value instead of the auto-fetched value.
//Required when using PEM format files (.pem, .key, .p8) or when providing responseMlePrivateKey object directly.

};
return configObj;

}

// Constructor for MLEConfigurationWithRequestAndResponseMLE1
function MLEConfigurationWithRequestAndResponseMLE1() {

var configObj = {
'authenticationType': AuthenticationType,
'runEnvironment': RunEnvironment,

'merchantID': 'agentic_mid_091225001',

'keyAlias': 'agentic_mid_091225001',
'keyPass': 'Changeit@123',
'keyFileName': 'agentic_mid_091225001',
'keysDirectory': KeysDirectory,

'logConfiguration': {
'enableLog': EnableLog,
'logFileName': LogFileName,
'logDirectory': LogDirectory,
'logFileMaxSize': LogfileMaxSize,
'loggingLevel': 'debug',
'enableMasking': EnableMasking
},
'mleKeyAlias':"CyberSource_SJC_US" //this is optional paramter, not required to set the parameter if custom value is not required for MLE key alias. Default value is "CyberSource_SJC_US".

//Set Request MLE Settings in Merchant Configuration [Refer MLE.md on cybersource-rest-client-node github repo]
// 'enableRequestMLEForOptionalApisGlobally': true, //Enables request MLE globally for all APIs that have optional MLE support //same as older deprecated variable "useMLEGlobally" //APIs that has MLE Request mandatory is default has MLE support in SDK without any configuration but support with JWT auth type.
'useMLEGlobally': false, //deprecated variable, use 'enableRequestMLEForOptionalApisGlobally' instead

//Set Response MLE Settings in Merchant Configuration [Refer MLE.md on cybersource-rest-client-node github repo]
'enableResponseMleGlobally': true, //Enables response MLE globally for all APIs that support MLE responses
'responseMlePrivateKeyFilePath': "Resource/agentic_mid_091225001_mle.p12", //Path to the Response MLE private key file. Supported formats: .p12, .pfx, .pem, .key, .p8. Recommendation use encrypted private Key (password protection) for MLE response.
'responseMlePrivateKeyFilePassword': "Changeit@123", //Password for the private key file (required for .p12/.pfx files or encrypted private keys).
'responseMleKID': "1757970970891045729358" //Optional since p12 is Cybs Generated.
//This parameter is optional when responseMlePrivateKeyFilePath points to a CyberSource-generated P12 file. If not provided, the SDK will automatically fetch the Key ID from the P12 file. If provided, the SDK will use the user-provided value instead of the auto-fetched value.
//Required when using PEM format files (.pem, .key, .p8) or when providing responseMlePrivateKey object directly.

};
return configObj;

}

// Constructor for MLEConfigurationWithRequestAndResponseMLE2
function MLEConfigurationWithRequestAndResponseMLE2() {

var configObj = {
'authenticationType': AuthenticationType,
'runEnvironment': RunEnvironment,

'merchantID': 'agentic_mid_091225001',

'keyAlias': 'agentic_mid_091225001',
'keyPass': 'Changeit@123',
'keyFileName': 'agentic_mid_091225001',
'keysDirectory': KeysDirectory,

'logConfiguration': {
'enableLog': EnableLog,
'logFileName': LogFileName,
'logDirectory': LogDirectory,
'logFileMaxSize': LogfileMaxSize,
'loggingLevel': 'debug',
'enableMasking': EnableMasking
},

//Set Request MLE Settings in Merchant Configuration [Refer MLE.md on cybersource-rest-client-node github repo]
'enableRequestMLEForOptionalApisGlobally': false, //Disable request MLE globally for all APIs that have optional MLE support //same as older deprecated variable "useMLEGlobally" //APIs that has MLE Request mandatory is default has MLE support in SDK without any configuration but support with JWT auth type.

//Set Response MLE Settings in Merchant Configuration [Refer MLE.md on cybersource-rest-client-node github repo]
'enableResponseMleGlobally': false, //Disable response MLE globally for all APIs that support MLE responses

//Set Request & Response MLE Settings in Merchant Configuration through MAP for API control level [Refer MLE.md on cybersource-rest-client-node github repo]
'mapToControlMLEonAPI':{
"createPayment":"true::false", //only createPayment function will have Request MLE=true and Response MLE = false i.e. (/pts/v2/payments POST API)
"enrollCard":"true::true" //only enrollCard function will have Request MLE=true & Response MLE =true i.e. (/acp/v1/tokens POST API)
},

//since one of the API has Response MLE true, so below fields are required for Response MLE
'responseMlePrivateKeyFilePath': "Resource/agentic_mid_091225001_new_generated_mle.p12", //Path to the Response MLE private key file. Supported formats: .p12, .pfx, .pem, .key, .p8. Recommendation use encrypted private Key (password protection) for MLE response.
'responseMlePrivateKeyFilePassword': "Changeit@123", //Password for the private key file (required for .p12/.pfx files or encrypted private keys).
'responseMleKID': "1764104507829324018353" //Optional since p12 is Cybs Generated.
//This parameter is optional when responseMlePrivateKeyFilePath points to a CyberSource-generated P12 file. If not provided, the SDK will automatically fetch the Key ID from the P12 file. If provided, the SDK will use the user-provided value instead of the auto-fetched value.
//Required when using PEM format files (.pem, .key, .p8) or when providing responseMlePrivateKey object directly.

};
return configObj;

Expand All @@ -152,5 +271,7 @@ function MLEConfiguration3() {
module.exports = {
MLEConfiguration1,
MLEConfiguration2,
MLEConfiguration3
MLEConfiguration3,
MLEConfigurationWithRequestAndResponseMLE1,
MLEConfigurationWithRequestAndResponseMLE2
};
Binary file added Resource/agentic_mid_091225001.p12
Binary file not shown.
Binary file added Resource/agentic_mid_091225001_mle.p12
Binary file not shown.
Binary file not shown.
28 changes: 28 additions & 0 deletions Resource/agentic_mid_091225001_new_generated_mle_private_key.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCMvaQOeFohpEaB
WW6TR29TnuTYpNuBwAUdJx0nUUcnToD4vNgokr9KYV9VADUL8HnZPisUlh4FGjbk
p6Q9HNm/ZAG7IYdiL1Gj1a318HIn9IfHSvxILCV0UktLrf45iNCblAbnuvP11Q4B
5V/Gg8R/HjHSykHRNM3K2FYlaQjP2hmV2rEcEgMCHPRX2PqsIOG+X05fNss8ZldS
ygnD0ZIJa7OI8MYIeUmUNfgwfRmbl5erNIZ4wWqbVuoxbWN3l3TVKv0i3mrSu8/d
3HYLO3cDEqCeaY4PPlTmYFprcRl21usi2WC7LidL523s5/wkih9FFFEmIPeF0qdF
JpPX6ZkZAgMBAAECggEARKHKGgBYu6UXeMZ65LlmMZn/sSIbpRdVpxTG48B/+UwQ
GrxEkOyW+hen3JSgSbU4RldJvN1DwGs7L6AMuHyUNv/21CGSmq/GmSV/krpxgMh/
WhFYG33juejTrREpMzdjuyqhf2msxEnkbcpEPVNOhEreMxPMqs+cN3nt8Ipa8LiF
qIRwHvC/MpzTzU0TiyLn6EBI+PNsBGPwQVSCulI42JMg82EsR4iUxJBd8429x9Fw
8U6naGLJnVecSsQAAkSTZwPKQVSok3a4Lcu0n0HCDthwgq323QQWug8cy7y6qZYs
lUJvZEKNX/WZzRomK39JeDmSFDlykIA+lu1G1c32rQKBgQDvqJkxpIMhzuq6pPe2
vntJkRo2NA25g9MoYk7HdObMSgg5HXnTm2TuV+smPjkwtdDEt4elUETGkRuzABT+
nkP6stxpcmBCH4brk9uxZJq9LoHFuaByg9xABMJ6Tu47EOubxFYkbEvttk4Y9neA
p0SR08Jqhb64Me79wVo40lGWRwKBgQCWVl2iAyNVMZgMbHiAF3kMjHZbEYQzxi09
VOh0V3r+81XZOaXXf3jh/bLw/qjcRNc3Bq3Lg5wtW96/gBmQMLisYrtgzqj/pX2c
nfvITcp9J+Bo/qvC+6/5tZXoCOPORVvYSP82lU90sCEPSKQfU3p+G16WMnRoiGwR
dnAu8NMlnwKBgGosPUIa6eVOb/skHoIdPS1IVV5yDSqE1kVr2A7RIXabzazP/Crd
Cwf0dz7IDjogMk8UJ8n7F50IqEbS4Ho0z1T/bFpiy3Y/1VwEcy3RriPluKRKKmTR
OgA6m5Xn5e7Q/jBR+P/F4pV7UHoKpsKeV+hq8hSTD/02UfSldjz6IB79AoGAQCsK
+i0GtsVdVegyotHiDBYkKojWedbb1nLYaVgxmoK4oOh3Pf0d1rAX4b+AycvkZItI
QTaiwcWV1P1Ta/UvzfyyaAatobi8Xc4c+wkhJbyQj6AsJiSRny7/ljO9MHzwT+gQ
bvbaHD9VTRW/X9Oc1BjQjaFpiHi6T9XS2mZWaZcCgYAlS9lziK6vycWqX/RSZRWl
JV/WDT3JXc6gKkNv7siAvqhMC6/FO4Ghz9UzA38MYWcdZqoMb49nKjTPSWf07rrq
fai8rALHk2M0MEhIh6HtPWpob6ppqqbR2Jt7wdn7eMIkuVlazAjsT6SE/nOrXiHq
RZTY/futke3TdKOTzkNCNA==
-----END PRIVATE KEY-----
28 changes: 28 additions & 0 deletions Resource/agentic_mid_091225001_new_generated_mle_private_key.p8
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCMvaQOeFohpEaB
WW6TR29TnuTYpNuBwAUdJx0nUUcnToD4vNgokr9KYV9VADUL8HnZPisUlh4FGjbk
p6Q9HNm/ZAG7IYdiL1Gj1a318HIn9IfHSvxILCV0UktLrf45iNCblAbnuvP11Q4B
5V/Gg8R/HjHSykHRNM3K2FYlaQjP2hmV2rEcEgMCHPRX2PqsIOG+X05fNss8ZldS
ygnD0ZIJa7OI8MYIeUmUNfgwfRmbl5erNIZ4wWqbVuoxbWN3l3TVKv0i3mrSu8/d
3HYLO3cDEqCeaY4PPlTmYFprcRl21usi2WC7LidL523s5/wkih9FFFEmIPeF0qdF
JpPX6ZkZAgMBAAECggEARKHKGgBYu6UXeMZ65LlmMZn/sSIbpRdVpxTG48B/+UwQ
GrxEkOyW+hen3JSgSbU4RldJvN1DwGs7L6AMuHyUNv/21CGSmq/GmSV/krpxgMh/
WhFYG33juejTrREpMzdjuyqhf2msxEnkbcpEPVNOhEreMxPMqs+cN3nt8Ipa8LiF
qIRwHvC/MpzTzU0TiyLn6EBI+PNsBGPwQVSCulI42JMg82EsR4iUxJBd8429x9Fw
8U6naGLJnVecSsQAAkSTZwPKQVSok3a4Lcu0n0HCDthwgq323QQWug8cy7y6qZYs
lUJvZEKNX/WZzRomK39JeDmSFDlykIA+lu1G1c32rQKBgQDvqJkxpIMhzuq6pPe2
vntJkRo2NA25g9MoYk7HdObMSgg5HXnTm2TuV+smPjkwtdDEt4elUETGkRuzABT+
nkP6stxpcmBCH4brk9uxZJq9LoHFuaByg9xABMJ6Tu47EOubxFYkbEvttk4Y9neA
p0SR08Jqhb64Me79wVo40lGWRwKBgQCWVl2iAyNVMZgMbHiAF3kMjHZbEYQzxi09
VOh0V3r+81XZOaXXf3jh/bLw/qjcRNc3Bq3Lg5wtW96/gBmQMLisYrtgzqj/pX2c
nfvITcp9J+Bo/qvC+6/5tZXoCOPORVvYSP82lU90sCEPSKQfU3p+G16WMnRoiGwR
dnAu8NMlnwKBgGosPUIa6eVOb/skHoIdPS1IVV5yDSqE1kVr2A7RIXabzazP/Crd
Cwf0dz7IDjogMk8UJ8n7F50IqEbS4Ho0z1T/bFpiy3Y/1VwEcy3RriPluKRKKmTR
OgA6m5Xn5e7Q/jBR+P/F4pV7UHoKpsKeV+hq8hSTD/02UfSldjz6IB79AoGAQCsK
+i0GtsVdVegyotHiDBYkKojWedbb1nLYaVgxmoK4oOh3Pf0d1rAX4b+AycvkZItI
QTaiwcWV1P1Ta/UvzfyyaAatobi8Xc4c+wkhJbyQj6AsJiSRny7/ljO9MHzwT+gQ
bvbaHD9VTRW/X9Oc1BjQjaFpiHi6T9XS2mZWaZcCgYAlS9lziK6vycWqX/RSZRWl
JV/WDT3JXc6gKkNv7siAvqhMC6/FO4Ghz9UzA38MYWcdZqoMb49nKjTPSWf07rrq
fai8rALHk2M0MEhIh6HtPWpob6ppqqbR2Jt7wdn7eMIkuVlazAjsT6SE/nOrXiHq
RZTY/futke3TdKOTzkNCNA==
-----END PRIVATE KEY-----
32 changes: 32 additions & 0 deletions Resource/agentic_mid_091225001_new_generated_mle_private_key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
Bag Attributes
localKeyID: 01
friendlyName: serialNumber=1764104507829324018353,CN=agentic_mid_091225001
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCMvaQOeFohpEaB
WW6TR29TnuTYpNuBwAUdJx0nUUcnToD4vNgokr9KYV9VADUL8HnZPisUlh4FGjbk
p6Q9HNm/ZAG7IYdiL1Gj1a318HIn9IfHSvxILCV0UktLrf45iNCblAbnuvP11Q4B
5V/Gg8R/HjHSykHRNM3K2FYlaQjP2hmV2rEcEgMCHPRX2PqsIOG+X05fNss8ZldS
ygnD0ZIJa7OI8MYIeUmUNfgwfRmbl5erNIZ4wWqbVuoxbWN3l3TVKv0i3mrSu8/d
3HYLO3cDEqCeaY4PPlTmYFprcRl21usi2WC7LidL523s5/wkih9FFFEmIPeF0qdF
JpPX6ZkZAgMBAAECggEARKHKGgBYu6UXeMZ65LlmMZn/sSIbpRdVpxTG48B/+UwQ
GrxEkOyW+hen3JSgSbU4RldJvN1DwGs7L6AMuHyUNv/21CGSmq/GmSV/krpxgMh/
WhFYG33juejTrREpMzdjuyqhf2msxEnkbcpEPVNOhEreMxPMqs+cN3nt8Ipa8LiF
qIRwHvC/MpzTzU0TiyLn6EBI+PNsBGPwQVSCulI42JMg82EsR4iUxJBd8429x9Fw
8U6naGLJnVecSsQAAkSTZwPKQVSok3a4Lcu0n0HCDthwgq323QQWug8cy7y6qZYs
lUJvZEKNX/WZzRomK39JeDmSFDlykIA+lu1G1c32rQKBgQDvqJkxpIMhzuq6pPe2
vntJkRo2NA25g9MoYk7HdObMSgg5HXnTm2TuV+smPjkwtdDEt4elUETGkRuzABT+
nkP6stxpcmBCH4brk9uxZJq9LoHFuaByg9xABMJ6Tu47EOubxFYkbEvttk4Y9neA
p0SR08Jqhb64Me79wVo40lGWRwKBgQCWVl2iAyNVMZgMbHiAF3kMjHZbEYQzxi09
VOh0V3r+81XZOaXXf3jh/bLw/qjcRNc3Bq3Lg5wtW96/gBmQMLisYrtgzqj/pX2c
nfvITcp9J+Bo/qvC+6/5tZXoCOPORVvYSP82lU90sCEPSKQfU3p+G16WMnRoiGwR
dnAu8NMlnwKBgGosPUIa6eVOb/skHoIdPS1IVV5yDSqE1kVr2A7RIXabzazP/Crd
Cwf0dz7IDjogMk8UJ8n7F50IqEbS4Ho0z1T/bFpiy3Y/1VwEcy3RriPluKRKKmTR
OgA6m5Xn5e7Q/jBR+P/F4pV7UHoKpsKeV+hq8hSTD/02UfSldjz6IB79AoGAQCsK
+i0GtsVdVegyotHiDBYkKojWedbb1nLYaVgxmoK4oOh3Pf0d1rAX4b+AycvkZItI
QTaiwcWV1P1Ta/UvzfyyaAatobi8Xc4c+wkhJbyQj6AsJiSRny7/ljO9MHzwT+gQ
bvbaHD9VTRW/X9Oc1BjQjaFpiHi6T9XS2mZWaZcCgYAlS9lziK6vycWqX/RSZRWl
JV/WDT3JXc6gKkNv7siAvqhMC6/FO4Ghz9UzA38MYWcdZqoMb49nKjTPSWf07rrq
fai8rALHk2M0MEhIh6HtPWpob6ppqqbR2Jt7wdn7eMIkuVlazAjsT6SE/nOrXiHq
RZTY/futke3TdKOTzkNCNA==
-----END PRIVATE KEY-----
Loading