From e1d2c59ed51945eb19cd2372aba5beabedba46e0 Mon Sep 17 00:00:00 2001 From: zefie Date: Tue, 5 May 2026 07:43:40 -0400 Subject: [PATCH] some updates --- .../includes/ServiceDeps/msntv2/minisrv.crt | 52 +++++++++-------- .../includes/ServiceDeps/msntv2/minisrv.key | 50 ++++++++-------- .../ServiceVault/msntv2/passport/RST.srf.js | 54 +++++++++++++----- .../sg1/Register/Login-to-WebTV.aspx.js | 10 ++-- .../sg1/connection/.GatePage.aspx.js.kate-swp | Bin 66 -> 0 bytes .../msntv2/sg1/connection/GatePage.aspx.js | 2 +- .../includes/classes/WTV-MSNTV2.js | 14 +++++ .../includes/classes/WTVClientSessionData.js | 2 +- .../tools/generate_msn_san_cert.js | 8 ++- .../includes/ServiceDeps/msntv2/minisrv.crt | 43 +++++++------- .../includes/ServiceDeps/msntv2/minisrv.key | 50 ++++++++-------- 11 files changed, 166 insertions(+), 119 deletions(-) delete mode 100644 zefie_wtvp_minisrv/includes/ServiceVault/msntv2/sg1/connection/.GatePage.aspx.js.kate-swp diff --git a/zefie_wtvp_minisrv/includes/ServiceDeps/msntv2/minisrv.crt b/zefie_wtvp_minisrv/includes/ServiceDeps/msntv2/minisrv.crt index 248fa9e7..7bbf1ea6 100644 --- a/zefie_wtvp_minisrv/includes/ServiceDeps/msntv2/minisrv.crt +++ b/zefie_wtvp_minisrv/includes/ServiceDeps/msntv2/minisrv.crt @@ -1,27 +1,29 @@ -----BEGIN CERTIFICATE----- -MIIEqzCCA5OgAwIBAgIQ3Zq6hcFrpKh4v3/G9sTw3DANBgkqhkiG9w0BAQUFADBw -MQswCQYDVQQGEwJVUzELMAkGA1UECAwCT0gxEzARBgNVBAcMCkJ1dHQgQ3JhY2sx -IDAeBgNVBAoMF1VuZGVyd2VhciBJbnNwZWN0b3IgIzEyMR0wGwYDVQQLDBRUaGlu -ZyBMb29rZXIgRXhwZXJ0czAgFw0wMDAxMDExMjAwMDBaGA8yMDk5MTIzMTIzNTk1 -OVowUTEpMCcGA1UEAxMgaGVhZHdhaXRlci50cnVzdGVkLm1zbnR2Lm1zbi5jb20x -FzAVBgNVBAoTDlplZmllIE5ldHdvcmtzMQswCQYDVQQGEwJVUzCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAMtl9J068AFSHykffAlcpspq3D7mE7fFRoyf -+tQCM3Wy7PqJvDAegoI4Zf/QdToTJMS6dkcsEx+dgD01VKJ1B0RdHbg6rFQfymc4 -GKyNk6tuqp7YQqElCUc91oFz4pJaJaOYaNBqkAG3MfTg+tSoBXl2YyjPrT0TPhXX -1Cm7BuFZORqNhvTdf33QXzgCQVso9U5X9YBgDaiTcu55etjFKUBEYhSYwTHmennA -FWOjY7ux6HFXBfKAz1QeCE6+corl5+6srCfh7Uz3ZFV9vntEYnyzbJuo6gR5P7GI -IYsygkADQAETHivl6GxeB7SEUfYLnfrZFwZc235tUz7USBdg3gcCAwEAAaOCAVww -ggFYMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMB -MIIBJwYDVR0RBIIBHjCCARqCIGhlYWR3YWl0ZXIudHJ1c3RlZC5tc250di5tc24u -Y29tghcqLnRydXN0ZWQubXNudHYubXNuLmNvbYINbXNudHYubXNuLmNvbYIWbWFp -bC5zZXJ2aWNlcy5saXZlLmNvbYIObG9naW4ubGl2ZS5jb22CEXBvcHRpbWl6ZS5t -c24uY29tghFmYXZvcml0ZXMubXNuLmNvbYIRbWVzc2VuZ2VyLm1zbi5jb22CEWxp -dmVmaWxlc3RvcmUuY29tghZ1c2Vycy5zdG9yYWdlLmxpdmUuY29tgglnLm1zbi5j -b22CF21zbmlhbG9naW4ucGFzc3BvcnQuY29tgg1taW5pc3J2LmxvY2Fsgg8qLm1p -bmlzcnYubG9jYWwwDQYJKoZIhvcNAQEFBQADggEBAAGEINTBTrkbpO0CJPv9w4Nj -IMuOSZETA7uXWyPwoLBIa57yTjNEVvWmjAc2nnrI3D6ijLMiF1eDIEsP4DI/qfMs -J82cS/IOIxXCmReU132NaZ6mSNEZx9QDkz/R8rFq5jKPRYSeguZSsWDxYlaQsbRr -qxQsKkRIOpm5pIOA/UT2gwV0L84a/NHXHNfc+CnPvvy7R9kmUC0XynsqU3lkj4Ah -SNZOgYyWkGWW7AytQWnMxyWm+xQjG4Fwl1Os9en4qwCK0ADyMCQyG3O68Gffu2go -YciXaJquI52fEKDQV4mDxy4B1V8BQ3ywm1iGebLzLgrKK7xPucUU5fqz7v2IUIs= +MIIE8TCCA9mgAwIBAgIQhTOF71uduRa0SXk4z+A7ujANBgkqhkiG9w0BAQUFADB0 +MRkwFwYDVQQDDBBtaW5pc3J2IHNlcnZpY2VzMREwDwYDVQQIDAhOZXcgWW9yazEL +MAkGA1UEBhMCVVMxHjAcBgkqhkiG9w0BCQEWD3plZmllQHplZmllLm5ldDEXMBUG +A1UECgwOWmVmaWUgTmV0d29ya3MwIBcNMDAwMTAxMTIwMDAwWhgPMjA5OTEyMzEy +MzU5NTlaMFExKTAnBgNVBAMTIGhlYWR3YWl0ZXIudHJ1c3RlZC5tc250di5tc24u +Y29tMRcwFQYDVQQKEw5aZWZpZSBOZXR3b3JrczELMAkGA1UEBhMCVVMwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6pNNH2lF7SFx8cEIF1ImA7AI4bv/W +qvbErvUYJOfrOLXOfvXnxWEbEfDk9+XEf+JD8PQo2rvze1cVcXjVO7i2m+c4jdWw +X/VPdRM0NpoppFXbWC7nWNuXhZD/S7f6pUEJez7BYUpEeBFdR9eFb8VPo8+kefMz +inYznvP1UAn9wwoSIFDglX9QbijkJ/ZKtOY3vxCMVBZedWVnMPEJt928NJBNDGcC +VeV1thEAAVbQBf5nyhF9VfblTzEHoxq+d6rvi4rVkd0ZYqQPCcafDFccXf6YNQcz +8cmwzha61bgLbJLPNPiSqbqL8GNfsHbt2vyX6OhYpKwF+Y2CCp0xbGflAgMBAAGj +ggGeMIIBmjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDATBgNVHSUEDDAKBggrBgEF +BQcDATCCAWkGA1UdEQSCAWAwggFcgiBoZWFkd2FpdGVyLnRydXN0ZWQubXNudHYu +bXNuLmNvbYIZc2cxLnRydXN0ZWQubXNudHYubXNuLmNvbYIZc2cyLnRydXN0ZWQu +bXNudHYubXNuLmNvbYIZc2czLnRydXN0ZWQubXNudHYubXNuLmNvbYIZc2c0LnRy +dXN0ZWQubXNudHYubXNuLmNvbYINbXNudHYubXNuLmNvbYIWbWFpbC5zZXJ2aWNl +cy5saXZlLmNvbYIObG9naW4ubGl2ZS5jb22CEXBvcHRpbWl6ZS5tc24uY29tghFm +YXZvcml0ZXMubXNuLmNvbYIRbWVzc2VuZ2VyLm1zbi5jb22CEWxpdmVmaWxlc3Rv +cmUuY29tghZ1c2Vycy5zdG9yYWdlLmxpdmUuY29tgglnLm1zbi5jb22CF21zbmlh +bG9naW4ucGFzc3BvcnQuY29tgg1taW5pc3J2LmxvY2FsMA0GCSqGSIb3DQEBBQUA +A4IBAQAZTy82heE64hCFxEiIFIxglGyPVU14wA2gXrv82mci/U0h/xBHfIfQWY8d +ULM6dO6kEk2DriBbo2ET10rkBwCTqa1iSDRN1eg0umdT2vbEYigjOelZJQqJi3Ua +LGBrPh8PK7juGa37aEdMWFLxmDtfEXE//OmMiliXU6bIi44pqM571X3Q3WPh3C3K +xOCOwQMgTPovLJDwRIJNyTrnb0kI+1s7oOtZ+QUQa7frY0Bgxn4IMEnZoIkOcAkh +R1m/OKyjjqQ8EVM73dTeiNr0yByG64C8dsVhJVXPT3GZOl7p5Pof9VfQg9Qr39Vh +ds7T/BVzQ79G8IXQ+AgZnZHu7pnn -----END CERTIFICATE----- diff --git a/zefie_wtvp_minisrv/includes/ServiceDeps/msntv2/minisrv.key b/zefie_wtvp_minisrv/includes/ServiceDeps/msntv2/minisrv.key index e768f45b..707c4edd 100644 --- a/zefie_wtvp_minisrv/includes/ServiceDeps/msntv2/minisrv.key +++ b/zefie_wtvp_minisrv/includes/ServiceDeps/msntv2/minisrv.key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY----- diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/msntv2/passport/RST.srf.js b/zefie_wtvp_minisrv/includes/ServiceVault/msntv2/passport/RST.srf.js index 18c2ba57..acb31ee2 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/msntv2/passport/RST.srf.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/msntv2/passport/RST.srf.js @@ -1,5 +1,10 @@ +const WTVClientSessionData = require("../../../classes/WTVClientSessionData"); + const minisrv_service_file = true; -const crypto = require('crypto'); + +if (!session_data) { + session_data = new WTVClientSessionData(minisrv_config, (socket.ssid || null)) +} // Sorry Zef :kek // https://git.computernewb.com/yellows111/msnp-wiki/src/branch/master/docs/services/rst.md @@ -93,7 +98,7 @@ function extractTokenFromCipherValue(xml) { let cipherValue = match[1].trim(); if (cipherValue && cipherValue.length > 0) { token = cipherValue; - console.log("Found CipherValue token:", token.substring(0, 50) + "..."); + debug("Found CipherValue token:", token.substring(0, 50) + "..."); break; } } @@ -118,7 +123,7 @@ function validateTokenAndGetUser(token) { email = `user_${userId.substring(0, 8)}@example.com`; } - console.log(`Token validated - UserId: ${userId}, Email: ${email}`); + debug(`Token validated - UserId: ${userId}, Email: ${email}`); return { success: true, userId, email }; } catch (error) { console.error("Token validation error:", error); @@ -350,12 +355,12 @@ function rstHandler() { requestBody = JSON.stringify(request_headers.post_data); } } else { - console.log("No post_data found. Available keys:", Object.keys(request_headers)); + debug("No post_data found. Available keys:", Object.keys(request_headers)); return generateErrorResponse("0x80048820", "No POST data received"); } if (!requestBody || requestBody.trim() === '') { - console.log("Empty request body"); + debug("Empty request body"); return generateErrorResponse("0x80048820", "Empty request body"); } @@ -369,7 +374,7 @@ function rstHandler() { let lastName = "User"; if ((!email || !password) && requestBody.includes('CipherValue')) { - console.log("No username/password found, trying token authentication..."); + debug("No username/password found, trying token authentication..."); const token = extractTokenFromCipherValue(requestBody); if (token) { @@ -377,7 +382,7 @@ function rstHandler() { if (tokenValidation.success) { userId = tokenValidation.userId; userEmail = tokenValidation.email; - console.log(`Token authentication successful for: ${userEmail} (${userId})`); + debug(`Token authentication successful for: ${userEmail} (${userId})`); if (request_headers.cookie) { const cookieEmail = getCookie(request_headers.cookie, 'RST_Email'); @@ -386,34 +391,40 @@ function rstHandler() { if (cookieUsername) firstName = cookieUsername; } } else { - console.log("Token validation failed"); + debug("Token validation failed"); return generateErrorResponse("0x80048821", "Invalid token"); } } else { - console.log("No token found in CipherValue"); + debug("No token found in CipherValue"); return generateErrorResponse("0x80048820", "Missing credentials/token"); } } else if (email && password) { - console.log(`Extracted - Email: ${email}, Password: ${password ? '***' : 'empty'}`); + debug(`Extracted - Email: ${email}, Password: ${password ? '***' : 'empty'}`); if (email && email.indexOf('@') < 0) { - const domain = (minisrv_config && minisrv_config.config && minisrv_config.config.domain_name) || 'wtv.zefie.com'; + const domain = minisrv_config.config.domain_name || 'minisrv.local'; email = `${email}@${domain}`; } userEmail = email; firstName = email.split('@')[0]; userId = crypto.createHash('md5').update(email).digest('hex'); - console.log(`Authentication successful for: ${userEmail} (${userId})`); + const validAuth = validateCredentials(email, password); + if (!validAuth) { + debug("Invalid credentials"); + return generateErrorResponse("0x80048821", "Invalid credentials"); + } else { + debug(`Authentication successful for: ${userEmail} (${userId})`); + } } else { - console.log("Missing both credentials and token"); + debug("Missing both credentials and token"); return generateErrorResponse("0x80048820", "Missing credentials/token"); } if (!userId || !userEmail) { - console.log("Failed to get user identity"); + debug("Failed to get user identity"); return generateErrorResponse("0x80048821", "User identity not found"); } @@ -438,6 +449,21 @@ function rstHandler() { } } +function validateCredentials(email, password) { + username = email.split('@')[0]; + result_ary = session_data.findAccountByUsername(username); + if (result_ary[0]) { + if (!socket.ssid) { + socket.ssid = result_ary[1]; + // second arg should handle secondary users + session_data.setSSID(socket.ssid, result_ary[2]); + } + return session_data.validateUserPassword(password); + } + return false; +} + + let result = rstHandler(); if (result) { data = result; diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/msntv2/sg1/Register/Login-to-WebTV.aspx.js b/zefie_wtvp_minisrv/includes/ServiceVault/msntv2/sg1/Register/Login-to-WebTV.aspx.js index b36464b2..30de6ca3 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/msntv2/sg1/Register/Login-to-WebTV.aspx.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/msntv2/sg1/Register/Login-to-WebTV.aspx.js @@ -32,12 +32,12 @@ data = `
Logging into your account
-

When using MSNTV2, you can access the same minisrv account as your WebTV.

+

When using MSNTV2, you can use an existing minisrv account.


Type your existing primary username in the box below:

-

@${minisrv_config.config.service_name}

+

@${minisrv_config.config.domain_name}


@@ -45,13 +45,15 @@ data = `

If you don't have an existing minisrv account, select the Back Button. + If you reset your box, you can recover your existing account by entering the username and password. + If you intend to use an account that is already established on your WebTV, type in the username and password for that account. If you do not have a password set on your primary user account, you will need to set one up on your WebTV before you can log in here. After entering your username and password, select the Continue Button.
- +
`; diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/msntv2/sg1/connection/.GatePage.aspx.js.kate-swp b/zefie_wtvp_minisrv/includes/ServiceVault/msntv2/sg1/connection/.GatePage.aspx.js.kate-swp deleted file mode 100644 index 3e7a17de4a4d5e7897a0c92a88b64137a152faca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66 zcmZQzU=Z?7EJ;-eE>A2_aLdd|RWQ;sU|?Vn`P;L%%fIr{0f8B|%g;tmUV7xD!k6G6 S1_s7sKv@v54h3?Ky8-~YW)yV* diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/msntv2/sg1/connection/GatePage.aspx.js b/zefie_wtvp_minisrv/includes/ServiceVault/msntv2/sg1/connection/GatePage.aspx.js index fd8cbd8a..47fd7dc7 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/msntv2/sg1/connection/GatePage.aspx.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/msntv2/sg1/connection/GatePage.aspx.js @@ -38,7 +38,7 @@ if (!session_data && BoxId) { let registered = false; let username = ''; -let Profile_Picture +let Profile_Picture = ''; if (session_data) { registered = session_data.isRegistered(); if (registered) { diff --git a/zefie_wtvp_minisrv/includes/classes/WTV-MSNTV2.js b/zefie_wtvp_minisrv/includes/classes/WTV-MSNTV2.js index bbd54734..a456a89d 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTV-MSNTV2.js +++ b/zefie_wtvp_minisrv/includes/classes/WTV-MSNTV2.js @@ -1522,6 +1522,16 @@ class WTVMSNTV2 { const self = this; const responseCookies = []; + // try to make the debug name + let debug_name = (filepath) ? filepath.split(path.sep) : null; + if (debug_name) { + if (this.wtvshared.isConfiguredService(debug_name[debug_name.length - 2])) + // service:/filename + debug_name = debug_name[debug_name.length - 2] + ":/" + debug_name[debug_name.length - 1]; + else + // filename + debug_name = debug_name[debug_name.length - 1]; + } const contextObj = { socket, request_headers, @@ -1545,6 +1555,7 @@ class WTVMSNTV2 { cwd: path.dirname(filepath), // Cookie helpers available to scripts response_cookies: responseCookies, + debug: require('debug')((debug_name) ? debug_name : 'service_script'), setCookie(name, value, opts) { opts = opts || {}; let s = `${encodeURIComponent(name)}=${encodeURIComponent(value)}`; @@ -1593,6 +1604,9 @@ class WTVMSNTV2 { if (socket.ssid && this.ssid_sessions && vmResult.session_data !== undefined) { this.ssid_sessions[socket.ssid] = vmResult.session_data; } + if (vmResult.socket !== socket) { + socket = vmResult.socket; + } if (!vmResult.request_is_async) { this._sendScriptResult(socket, request_headers, vmResult.headers, vmResult.data, responseCookies); } diff --git a/zefie_wtvp_minisrv/includes/classes/WTVClientSessionData.js b/zefie_wtvp_minisrv/includes/classes/WTVClientSessionData.js index 57d33de9..f8ac195d 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVClientSessionData.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVClientSessionData.js @@ -282,7 +282,7 @@ class WTVClientSessionData { /** * Finds an account's SSID and User ID from just the username * @param {string} username The username to search for - * @returns {Array} [found {boolean}, account_dir {string|null}, user_id {number|null}] + * @returns {Array} [found {boolean}, ssid {string|null}, user_id {number|null}] */ findAccountByUsername(username) { const accounts_dir = this.getAccountStoreDirectory(); diff --git a/zefie_wtvp_minisrv/tools/generate_msn_san_cert.js b/zefie_wtvp_minisrv/tools/generate_msn_san_cert.js index d0019c3f..6becda80 100644 --- a/zefie_wtvp_minisrv/tools/generate_msn_san_cert.js +++ b/zefie_wtvp_minisrv/tools/generate_msn_san_cert.js @@ -10,7 +10,10 @@ const msnDir = path.join(workspaceRoot, '..', 'includes', 'ServiceDeps', 'msntv2 const domains = [ "headwaiter.trusted.msntv.msn.com", - "*.trusted.msntv.msn.com", + "sg1.trusted.msntv.msn.com", + "sg2.trusted.msntv.msn.com", + "sg3.trusted.msntv.msn.com", + "sg4.trusted.msntv.msn.com", "msntv.msn.com", "mail.services.live.com", "login.live.com", @@ -21,8 +24,7 @@ const domains = [ "users.storage.live.com", "g.msn.com", "msnialogin.passport.com", - "minisrv.local", - "*.minisrv.local" + "minisrv.local" ] const defaultCaCertPath = path.join(msnDir, 'emac.crt'); diff --git a/zefie_wtvp_minisrv/tools/includes/ServiceDeps/msntv2/minisrv.crt b/zefie_wtvp_minisrv/tools/includes/ServiceDeps/msntv2/minisrv.crt index 7832eaa7..dd253429 100644 --- a/zefie_wtvp_minisrv/tools/includes/ServiceDeps/msntv2/minisrv.crt +++ b/zefie_wtvp_minisrv/tools/includes/ServiceDeps/msntv2/minisrv.crt @@ -1,28 +1,29 @@ -----BEGIN CERTIFICATE----- -MIIErzCCA5egAwIBAgIQ/K/Ib/7QA0rO4hjgM53sGDANBgkqhkiG9w0BAQUFADB0 +MIIE8TCCA9mgAwIBAgIQoRyc0ioSEdkYGPQxwYXUDjANBgkqhkiG9w0BAQUFADB0 MRkwFwYDVQQDDBBtaW5pc3J2IHNlcnZpY2VzMREwDwYDVQQIDAhOZXcgWW9yazEL MAkGA1UEBhMCVVMxHjAcBgkqhkiG9w0BCQEWD3plZmllQHplZmllLm5ldDEXMBUG A1UECgwOWmVmaWUgTmV0d29ya3MwIBcNMDAwMTAxMTIwMDAwWhgPMjA5OTEyMzEy MzU5NTlaMFExKTAnBgNVBAMTIGhlYWR3YWl0ZXIudHJ1c3RlZC5tc250di5tc24u Y29tMRcwFQYDVQQKEw5aZWZpZSBOZXR3b3JrczELMAkGA1UEBhMCVVMwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDhh5bdTvB2q03vo/hwikBsfRt3p5Sg -Y7N6+e+UfUK8LxZRLwLwk3TIS7LcU+RE6d8UHO8A68joX61kYggtMAGEvYC2JWGC -XiUb37CZBJrIMTqU+tFn2zTyCvpNBU7Pv6t/PAKPc0XztrQEZ7RmqywDMbWu2B1M -86eil0HN4n4fGMYkVmVjkHJJYNChck+edkL4rDkKnbg4Ar37lYYHofrQDWTAW9eD -QSxXBPQbbqDIDHMdXwHnfCbJZIkgQ7ClK78PN6s9DRgagvnXI8vclyW38YQ/cqlk -DNkGDGcfAOg9BGtwTAUd7Bu/pAjrAR/WRY5jdv3++4/taibz5hKildA7AgMBAAGj -ggFcMIIBWDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDATBgNVHSUEDDAKBggrBgEF -BQcDATCCAScGA1UdEQSCAR4wggEagiBoZWFkd2FpdGVyLnRydXN0ZWQubXNudHYu -bXNuLmNvbYIXKi50cnVzdGVkLm1zbnR2Lm1zbi5jb22CDW1zbnR2Lm1zbi5jb22C -Fm1haWwuc2VydmljZXMubGl2ZS5jb22CDmxvZ2luLmxpdmUuY29tghFwb3B0aW1p -emUubXNuLmNvbYIRZmF2b3JpdGVzLm1zbi5jb22CEW1lc3Nlbmdlci5tc24uY29t -ghFsaXZlZmlsZXN0b3JlLmNvbYIWdXNlcnMuc3RvcmFnZS5saXZlLmNvbYIJZy5t -c24uY29tghdtc25pYWxvZ2luLnBhc3Nwb3J0LmNvbYINbWluaXNydi5sb2NhbIIP -Ki5taW5pc3J2LmxvY2FsMA0GCSqGSIb3DQEBBQUAA4IBAQBRY2KlKxhVUCv0h86q -J66TAJocqyPEwnnvuEAxM209DhO84GR4+D9r+/U3aV18MN0tUEFOy/qx918zpwgC -kNghNmtydvW9phMFB//tX56c8UUT0rYESylKCdYDraCh9G3avI8A5hgJQCgfeUGA -l0XJvc/yA3piNAPohLB1zyOBlIONLWJxI4kyKjhOM2mkIkJWmLKXOHGPnnqCUAx+ -+NzEZiJst22sngmHikN53zKyUfp2DO9CUY7hbjctAKo0GUC/Q0yQmL95idqnw56j -Gv1deZcTth/1qUqcZRbQDT+546d87rDJLcQDXs/Q34IcmZa0v7jsIL5hJP+/PtOs -fpyG +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCbEGP/jBpuLj8aDzeIzcN+HWaorttU +WKqF5IY5s/nRm4WHdYUaKgDf9ksBJm2+igB0XSI1d06hvrI1VkMejvJzZpq+RNJe +TqMy7cp5zPcLLymUkb8a1ziY6ZjezHMLCRyfU2zyMR3yqHCAaYP6JtEZqc3Ht4o6 +NfVCF4A8uynHZEGW47Iz4e6gLnzXutN7/ngDPw2hi/2XKN/E5djBg1yXHeQ+Y14n +Ab0sHO4DgsUOYruTZu/TyO1A2ewpsGC40cRsbPAkeHtViOqVBUegDTfiqxbGpxaQ +Qfdq/b8NYQmaRO/I/kH1IfYMiI+RxeBhUiBYlSEwOBNcJrc4etIzdYOVAgMBAAGj +ggGeMIIBmjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDATBgNVHSUEDDAKBggrBgEF +BQcDATCCAWkGA1UdEQSCAWAwggFcgiBoZWFkd2FpdGVyLnRydXN0ZWQubXNudHYu +bXNuLmNvbYIZc2cxLnRydXN0ZWQubXNudHYubXNuLmNvbYIZc2cyLnRydXN0ZWQu +bXNudHYubXNuLmNvbYIZc2czLnRydXN0ZWQubXNudHYubXNuLmNvbYIZc2c0LnRy +dXN0ZWQubXNudHYubXNuLmNvbYINbXNudHYubXNuLmNvbYIWbWFpbC5zZXJ2aWNl +cy5saXZlLmNvbYIObG9naW4ubGl2ZS5jb22CEXBvcHRpbWl6ZS5tc24uY29tghFm +YXZvcml0ZXMubXNuLmNvbYIRbWVzc2VuZ2VyLm1zbi5jb22CEWxpdmVmaWxlc3Rv +cmUuY29tghZ1c2Vycy5zdG9yYWdlLmxpdmUuY29tgglnLm1zbi5jb22CF21zbmlh +bG9naW4ucGFzc3BvcnQuY29tgg1taW5pc3J2LmxvY2FsMA0GCSqGSIb3DQEBBQUA +A4IBAQBCeWJbS8JJNlC6OIgUQue4bkDk5bNDUFuktAWXqmoM7Kt4MLDB1O60ez/T +9cSGqU9QicSn1eL0O7ETpEPO4tSDU0KB9GnulndWbyI/OgaVOC6ON7v4Uv0z7+nw +ninT66R+wajuSf9HyC8HA2FSMcIdiLBDtzUsSIxxG/EneEuxkBv31kQkHbWubIY4 +9SJeIF5evjQZOC3KRVlfa9nwM3qon7RUfLWF1CZlRmaFfZQf2r0cH5cVt13kyxKI +gc8rwbGGOGsQFlw6GzGTUNQSv35xOCRNDvPtkp+dJ4GFMCbrg2OVk8n0Ecwu9jma +TSZ7B6w5w/1YzXyFlcZolxrxrupi -----END CERTIFICATE----- diff --git a/zefie_wtvp_minisrv/tools/includes/ServiceDeps/msntv2/minisrv.key b/zefie_wtvp_minisrv/tools/includes/ServiceDeps/msntv2/minisrv.key index 726d34ae..12a267e4 100644 --- a/zefie_wtvp_minisrv/tools/includes/ServiceDeps/msntv2/minisrv.key +++ b/zefie_wtvp_minisrv/tools/includes/ServiceDeps/msntv2/minisrv.key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY-----