Anyone using Kaspersky Password Manager?
-
@gwen-dragon For sure! Patience will be my friend until then
-
@ornorm I am or was. It was working fine until KPM (9.0.1.447) update of the Kaspersky Password Manager.
Their support asked me to reinstall the extension. Same fault.
https://chrome.google.com/webstore/detail/kaspersky-password-manage/dhnkblpjbkfklfloegejegedcafpliaa
-
@mogle Thank you for your comment mogle. As usual, the support of Kaspersky can give different solutions to an issue.
For me, their answer was quite different and not very helpful. They just told me Vivaldi wasn't supported for KPM... that's it!
While, for me, there is a clear regression because, as you said, it was working fine until the last version which means there is certainly a regression in their client's user experience. It doesn't seem to be their conception of user experience, what I regret.
So, for the moment, I've chosen to continue using Vivaldi even if I can't use KPM anymore. -
Why don't you do it yourself? As said, the extension checks for user-agent in background.js and determines the browser, you can just set it to chrome. I would do it, but I'm not on Windows and therefore can't test what I'm doing.
-
@luetage How would I go about doing this? I have tried User-Agent Switcher and the KPM extension still doesn't work. Is there something I should specifically be doing to change the background.js on windows?
Thanks for any help you can give on this.
-
@oconnetg You can't trick an extension with an extension. It will still check your real user agent. What you have to do is edit background.js, but this will be hard to do, if you don't know any javascript.
-
@luetage Fair enough. Unfortunately I am not proficient in coding Java Script. I can copy the script of the background.js if anyone thought that would be helpful to look at and edit.
-
@oconnetg
Here is the code I found in the background.js filevar nativeMessagingSettings={id:"com.nm.kpm"};class BackgroundSpecific{constructor(){this.browser="undefined"!=typeof browser?browser:chrome}getActiveTabInfo(e){this.browser.tabs.query({currentWindow:!0,active:!0},function(t){t&&t.length>0&&(t=t[0],e(t.url,t.id))})}addTabOpenEventListener(e){const t=this.browser;t.tabs.onUpdated.addListener(function(t,n,a){e(a,t)}),t.tabs.onActivated.addListener(function(n){t.tabs.get(n.tabId,function(t){e(t,n.tabId)})})}addPageClosedEventListener(e){this.browser.tabs.onRemoved.addListener(e)}addPageErrorOccurredEventListener(e,t){this.browser.webRequest.onErrorOccurred.addListener(e,t)}dispatchMessage(e,t,n){this.browser.runtime.sendMessage({type:"background-message",name:e,message:t},n)}setUpEventListeners(e,t){this.browser.runtime.onMessage.addListener(t)}dispatchToTab(e,t,n){this.browser.tabs.sendMessage(e,{event:"message",name:t,message:n})}dispatchToActiveTab(e,t){const n=this;t&&t.tabId?n.dispatchToTab(t.tabId,e,t):n.browser.tabs.query({active:!0,currentWindow:!0},function(a){a[0]&&n.dispatchToTab(a[0].id,e,t)})}setToolbarButtonIcon(e){this.browser.browserAction.setIcon({path:e})}}class BackgroundHelper{constructor(){this.plugin=null,this.tabsUrl={},this.backgroundSpecific=new BackgroundSpecific,this.isSupportedBrowserVersion=function(){const e=navigator.userAgent.indexOf("Firefox");return-1===e||parseFloat(navigator.userAgent.substring(e+8))>=50}(),this.browserInfo=function(){const e=[["Safari",/Version\/([0-9\._]+).*Safari/],["Yandex",/YaBrowser\/([0-9\._]+)/],["FireFox",/Firefox\/([0-9\.]+)(?:\s|$)/],["Chrome",/Chrome\/([0-9\.]+)(:?\s|$)/],["Edge",/Edge\/([0-9\._]+)/]];let t,n=e.length;for(;n--;)if((t=e[n])[1].test(navigator.userAgent)){let e=t[1].exec(navigator.userAgent),n=e&&e[1].split(/[._]/).slice(0,3);return n&&n.length<3&&Array.prototype.push.apply(n,1===n.length?[0,0]:[0]),{name:t[0],version:n.join(".")}}return{name:"unknown",version:"unknown"}}(),this.browsers={CHROME:"Chrome",EDGE:"Edge",UNKNOWN:"unknown"},this._connectNM()}_getIcon(e){return{19:`icons/${e}19.png`,20:`icons/${e}20.png`,38:`icons/${e}38.png`,40:`icons/${e}40.png`}}_connectNM(){const e=this;try{e.plugin=new KasperskyNativeMessagingClient(nativeMessagingSettings.id,()=>{console.error("KasperskyNativeMessagingClient OnDisconnect"),!1!==BackgroundObject.isConnected&&(BackgroundObject.isBackendSupported=!1,BackgroundObject.updateToolbarButtonIcon(),e._connectNM(),BackgroundObject.isConnected=!1,setTimeout(pageLoaded,1e3))}),e.plugin.registerMethod("eval",function(t){const n=t[1];if("0-topFrame"===t[0])n.length<150&&(n.includes('"kpm_vaultStatusChanged"')?BackgroundObject.updateVaultStatus():n.includes('"kpm_addressChanged"')?BackgroundObject.updateEntity("getAddresses"):n.includes('"kpm_bankCardChanged"')?BackgroundObject.updateEntity("getBankCards"):n.includes('"kpm_webAccountChanged"')?BackgroundObject.updateEntity("getWebAccounts"):n.includes('"kpm_recentWebAccountChanged"')&&BackgroundObject.updateEntity("getRecentWebAccounts"));else if(n.length>150||!n.includes('"kpm_webAccountChanged"')||!n.includes('"kpm_recentWebAccountChanged"')){const a=t[0].split("-");e.dispatchToTab(parseInt(a[0]),"kpm_evalScript",{frameId:a[1],script:n})}})}catch(e){console.log("Error creating KasperskyNativeMessagingClient: "+e)}}addTabOpenEventListener(e){let t=this;t.backgroundSpecific.addTabOpenEventListener(function(n,a){n&&n.url&&(t.tabsUrl[a]=n.url,e())})}addPageClosedEventListener(e){let t=this;t.backgroundSpecific.addPageClosedEventListener(function(n){t.tabsUrl[n]&&(e(n),t.callNativeMessaging(n,{name:"kpm_pageClosed",frameId:"topFrame"}),delete t.tabsUrl[n])})}addPageErrorOccurredEventListener(e){this.backgroundSpecific.addPageErrorOccurredEventListener(function(t){"net::ERR_NAME_NOT_RESOLVED"!==t.error&&"net::ERR_NAME_RESOLUTION_FAILED"!==t.error&&"net::ERR_INTERNET_DISCONNECTED"!==t.error||e(t.url,t.tabId)},{urls:["http://*/*","https://*/*"]})}dispatchToPopover(e,t,n){this.backgroundSpecific.dispatchMessage(e,t,n)}setUpEventListeners(e,t){this.backgroundSpecific.setUpEventListeners(e,t)}dispatchToTab(e,t,n){this.backgroundSpecific.dispatchToTab(e,t,n)}dispatchToActiveTab(e,t){this.backgroundSpecific.dispatchToActiveTab(e,t)}callNativeMessaging(e,t,n){if(!1===BackgroundObject.isConnected)return;let a=[e+"-"+t.frameId];t.message&&(a=a.concat(t.message));try{this.plugin.call(t.name,a,e=>{1===e.length&&n(e[0])},()=>{console.error(`Call ${t.name} failed!!!, args: ${a}`)})}catch(e){BackgroundObject.isConnected=!1,console.error(e)}}setUnlockedToolbarButtonIcon(){this.backgroundSpecific.setToolbarButtonIcon(this._getIcon("kpm_unlocked_toolbar_icon"))}setLockedToolbarButtonIcon(){this.backgroundSpecific.setToolbarButtonIcon(this._getIcon("kpm_locked_toolbar_icon"))}setUninstalledToolbarButtonIcon(){this.backgroundSpecific.setToolbarButtonIcon(this._getIcon("kpm_warning_toolbar_icon"))}getBrowserInfo(){return this.browserInfo.name===this.browsers.UNKNOWN?this.browsers.UNKNOWN:`${this.browserInfo.name} ${this.browserInfo.version}`}verifyCurrentUrl(e){let t=this;t.backgroundSpecific.getActiveTabInfo(function(n,a){return e(t.checkIsUrlAvailable(n,a))})}getCurrentTabInfo(e){this.backgroundSpecific.getActiveTabInfo(e)}checkIsUrlAvailable(e,t){let n;return!(t&&(n=BackgroundObject.unavailableUrls[t])&&n[e])&&((this.browserInfo.name!==this.browsers.CHROME||!e.startsWith("https://chrome.google.com/webstore"))&&((this.browserInfo.name!==this.browsers.EDGE||!e.startsWith("https://www.msn.com/spartan/"))&&!/^(chrome|about|file):/i.test(e)))}}function KasperskyNativeMessagingClient(e,t){let n=this;n.browser="undefined"!=typeof browser?browser:chrome,n.MSG_CALL=1,n.MSG_CALL_RESULT=2,n.MSG_CALL_ERROR=3,n.m_methods={},n.m_calls={},n.m_uniqueCommandId=0,n.m_isConnected=!0,n.m_nativeHost=n.browser.runtime.connectNative(e),n.m_nativeHost.onMessage.addListener(function(e){if("string"==typeof e){if(""===e)return;e=JSON.parse(e)}let t=parseInt(e[1]);switch(parseInt(e[0])){case n.MSG_CALL:n.processCommandCall(t,e[2],e.slice(3));break;case n.MSG_CALL_RESULT:n.processCommandCallResult(t,e.slice(2));break;case n.MSG_CALL_ERROR:n.processCommandCallError(t,parseInt(e[2]));break;default:n.printException("Unknown message type")}}),n.m_nativeHost.onDisconnect.addListener(function(){try{n.m_isConnected=!1,t(),n.callbackAllPendingOperations(-1)}catch(e){n.printException(e)}}),n.registerMethod=function(e,t){n.m_methods[e]||(n.m_methods[e]=t)},n.call=function(e,t,a,o){if(n.m_isConnected){let r=n.createCommandCall(e,t);n.m_calls[r.id]={callbackResult:a,callbackError:o},n.m_nativeHost.postMessage(r.payload)}else BackgroundObject.isConnected=!1,console.error("NM Sending message failed because of disconnecting")},n.createCommandCall=function(e,t){let a=n.createUniqueCommandId();return{id:a,payload:[n.MSG_CALL,a,e].concat(t)}},n.createCommandCallResult=function(e,t){return{id:e,payload:[n.MSG_CALL_RESULT,e].concat(t)}},n.createCommandCallError=function(e,t){return{id:e,payload:[n.MSG_CALL_ERROR,e,t]}},n.createUniqueCommandId=function(){return n.m_uniqueCommandId++},n.processCommandCall=function(e,t,a){try{n.m_methods[t](a,function(t){let a=n.createCommandCallResult(e,t);n.m_nativeHost.postMessage(a.payload)})}catch(t){n.printException(t);let a=n.createCommandCallError(e,-1);n.m_nativeHost.postMessage(a.payload)}},n.close=function(){n.m_nativeHost.disconnect()},n.processCommandCallResult=function(e,t){try{n.m_calls[e]&&n.m_calls[e].callbackResult?(n.m_calls[e].callbackResult(t),delete n.m_calls[e]):n.printException("Not found resultCallback for callId: "+e)}catch(e){n.printException(e)}},n.processCommandCallError=function(e,t){try{n.m_calls[e]&&n.m_calls[e].callbackError?(n.m_calls[e].callbackError(t),delete n.m_calls[e]):n.printException("Not found errorCallback for callId: "+e)}catch(e){n.printException(e)}},n.printException=function(e){let t="NM exception: "+e;e.stack&&(t=t+"\nstack:"+e.stack),console.error(t)},n.callbackAllPendingOperations=function(e){Object.keys(n.m_calls).forEach(t=>n.m_calls[t].callbackError(e)),n.m_calls={}}}var BackgroundObject={autoSignInStatus:{},unavailableUrls:{},isConnected:null,isVaultLocked:!0,isBackendSupported:!0,minSupportedBackendVersion:4,callbackNames:null,popoverData:{},isDataUpdating:!1,getHostNameByUrl:function(e){return e.match(/^https?\:\/\/([^\/:?#]+)(?:[\/:?#]|$)/i)[1]},getSignInStatus:function(e,t,n){let a=this[e][t];if(a){if(a[n=BackgroundObject.getHostNameByUrl(n)])return!0;{let e=Object.keys(a),t=e[0];if(e.forEach(function(e){"www."===e.substr(0,4)&&(e=e.slice(4,e.length)),t.length>e.length&&(t=e)}),t="."+t,-1!==n.indexOf(t))return!0}}return!1},updateSignInStatus:function(e,t,n,a){this[e][t]||(this[e][t]={}),this[e][t][BackgroundObject.getHostNameByUrl(n)]=a},clearDataForKey:function(e){delete BackgroundObject.autoSignInStatus[e],delete BackgroundObject.unavailableUrls[e]},updateToolbarButtonIcon:function(){BackgroundObject.isBackendSupported?BackgroundObject.isVaultLocked?backgroundHelper.setLockedToolbarButtonIcon():backgroundHelper.setUnlockedToolbarButtonIcon():backgroundHelper.setUninstalledToolbarButtonIcon()},updatePopoverData:function(e){BackgroundObject.isVaultLocked||Promise.all(entityCallbackNames.map(getEntity)).then(t=>{BackgroundObject.popoverData=Object.assign({},...t),e&&e()},e=>console.error("KPM error getting entities"))},updateEntity:function(e){BackgroundObject.isVaultLocked||getEntity(e).then(e=>{Object.assign(BackgroundObject.popoverData,e),BackgroundObject.notifyPopoverAboutNewData()},t=>console.error(`KPM error getting ${e} entity`))},callPlugin:function(e,t,n,a=0){backgroundHelper.callNativeMessaging(a,{name:e,message:t,frameId:"topFrame"},n)},updateVaultStatus:function(e){BackgroundObject.callPlugin("kpm_isVaultLocked",null,function(t){BackgroundObject.isVaultLocked=t,BackgroundObject.updateToolbarButtonIcon(),BackgroundObject.callbackNames||pageLoaded(),BackgroundObject.isVaultLocked?backgroundHelper.dispatchToPopover("kpm_lockPlugin"):!e&&BackgroundObject.callbackNames&&BackgroundObject.updatePopoverData(BackgroundObject.notifyPopoverAboutNewData)})},notifyPopoverAboutNewData:function(){backgroundHelper.dispatchToPopover("kpm_popoverData")},stopDataUpdating:function(){BackgroundObject.isDataUpdating=!0,setTimeout(()=>{BackgroundObject.isDataUpdating=!1},1e4)}},backgroundHelper=new BackgroundHelper;const entityCallbackNames=["getWebAccounts","getRecentWebAccounts","getBankCards","getAddresses"];function getEntity(e){return new Promise(t=>{BackgroundObject.callPlugin(BackgroundObject.callbackNames[e],["background.page"],e=>{t(JSON.parse(e))})})}function pageLoaded(){BackgroundObject.callPlugin("kpm_pageLoaded",["background.page"],function(e){e=JSON.parse(e),BackgroundObject.isVaultLocked=e.isVaultLocked,BackgroundObject.callbackNames=e.callbackNames,BackgroundObject.isBackendSupported=e.backendVersion>=BackgroundObject.minSupportedBackendVersion,BackgroundObject.isConnected=!0,BackgroundObject.updateToolbarButtonIcon(),BackgroundObject.updatePopoverData(BackgroundObject.notifyPopoverAboutNewData)})}backgroundHelper.isSupportedBrowserVersion?(backgroundHelper.browserInfo.name!==backgroundHelper.browsers.EDGE?pageLoaded():setTimeout(pageLoaded,1e3),backgroundHelper.setUpEventListeners(null,function(e,t,n){switch(e.name){case"kpm_chrome_native_message":e.message&&t.tab&&backgroundHelper.callNativeMessaging(t.tab.id,e.message,n);break;case"kpm_autoSignIn":BackgroundObject.updateSignInStatus("autoSignInStatus",t.tab.id,t.url,e.message.wasAutoSignIn);break;case"kpm_getSiteMarkup":backgroundHelper.dispatchToTab(t.tab.id,e.name);break;case"kpm_autoSignInStatus":let a=!1;t&&(a=BackgroundObject.getSignInStatus("autoSignInStatus",t.tab.id,t.url)),n?n(a):backgroundHelper.dispatchToActiveTab("kpm_autoSignInStatus_response",a,t)}return!0},null),backgroundHelper.addTabOpenEventListener(BackgroundObject.updateToolbarButtonIcon),backgroundHelper.addPageClosedEventListener(BackgroundObject.clearDataForKey),backgroundHelper.addPageErrorOccurredEventListener(function(e,t){BackgroundObject.unavailableUrls[t]||(BackgroundObject.unavailableUrls[t]={}),BackgroundObject.unavailableUrls[t][e]=!0,backgroundHelper.dispatchToPopover("kpm_pageErrorOccurred")})):backgroundHelper.setUninstalledToolbarButtonIcon();
-
Hello,
just to let you know that it seems that all Chromium based browser are affected by the issue caused by the last KPM version. Voilà, just to share with you this "fresh" information that might interest some of you (or not...)
Related Kaspersky Forum topicHave a nice day.
-
This post is deleted! -
Small update on the topic :
@Ornorm said in Poll for Kaspersky users: Need of Kaspersky Password Manager extension in Vivaldi:It wasn't the case before but now, it seems not only Chromium based browsers are affected by the bug but even Chrome itself.
All recent comments on the extension page (in different languages) relate the same issue... (example below) -
Sadly, problem is back. I am migrating from opera browser to vivaldi, version 3.5.2115.87 has same problem, I cannot log into KPM (v. 9.0.2.14151)
-
@skliba001 Hello skliba001, it is working for me with KPM 9.0.2.14151 (n). Do you have the n version?
-
@Ornorm Yes, it is "n" version
-
@skliba001 Thanks for that.
Did you have it working before? If so, when did it stop working (last Vivaldi update? something else?)
Did you re-install the KPM extension? -
@Ornorm No, i didn't, I installed Vivaldi day before yesterday for the first time, I have been using opera. Without KPM. But durin installation Kaspersky offered me KPM plugin, so I wanted to try to use it
-
@skliba001 Can you try to install the KPM extension from the Chrome web store to see if it works?
-
@Ornorm althought I have installed it from chrom store day before yesterday, I have reinstalled it now with the same result. Extension looks OK, but I can't sign in
-
@skliba001 Do you have the issue where you try to login and the extension loads indefinitely?
Side question (don't know if this could help at all) : did you empty the cache of Vivaldi, closed Vivaldi and restarted it again? -
@Ornorm No, login is impossible - wrong password it says, but I have checked it directly and it works. I have changed it too. Side question: There is nothing to empty. I am still running opera, because I am lazy to transfer all my opened tabs, passwords and other stuff. It is clean installation