fix(common): agent interceptor dependency compat (#5613)
Fixes agent interceptor registration broken by dependency update --------- Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com>
This commit is contained in:
parent
e63bfe3723
commit
017341928c
1 changed files with 11 additions and 10 deletions
|
|
@ -95,7 +95,7 @@ export class KernelInterceptorAgentStore extends Service {
|
||||||
|
|
||||||
private async setupWatchers() {
|
private async setupWatchers() {
|
||||||
const watcher = await Store.watch(STORE_NAMESPACE, STORE_KEYS.SETTINGS)
|
const watcher = await Store.watch(STORE_NAMESPACE, STORE_KEYS.SETTINGS)
|
||||||
watcher.on("change", async ({ value }) => {
|
watcher.on("change", async ({ value }: { value: unknown }) => {
|
||||||
if (value) {
|
if (value) {
|
||||||
const store = value as StoredData
|
const store = value as StoredData
|
||||||
this.domainSettings = new Map(Object.entries(store.domains))
|
this.domainSettings = new Map(Object.entries(store.domains))
|
||||||
|
|
@ -182,7 +182,7 @@ export class KernelInterceptorAgentStore extends Service {
|
||||||
}
|
}
|
||||||
|
|
||||||
public completeRequest(
|
public completeRequest(
|
||||||
request: Omit<RelayRequest, "proxy" | "security" | "meta">
|
request: Omit<PluginRequest, "proxy" | "security" | "meta">
|
||||||
): PluginRequest {
|
): PluginRequest {
|
||||||
const host = new URL(request.url).host
|
const host = new URL(request.url).host
|
||||||
const settings = this.getMergedSettings(host)
|
const settings = this.getMergedSettings(host)
|
||||||
|
|
@ -228,7 +228,7 @@ export class KernelInterceptorAgentStore extends Service {
|
||||||
}
|
}
|
||||||
|
|
||||||
public async verifyRegistration(otp: string): Promise<void> {
|
public async verifyRegistration(otp: string): Promise<void> {
|
||||||
const myPrivateKey = x25519.utils.randomPrivateKey()
|
const myPrivateKey = crypto.getRandomValues(new Uint8Array(32))
|
||||||
const myPublicKey = x25519.getPublicKey(myPrivateKey)
|
const myPublicKey = x25519.getPublicKey(myPrivateKey)
|
||||||
const myPublicKeyB16 = base16.encode(myPublicKey).toLowerCase()
|
const myPublicKeyB16 = base16.encode(myPublicKey).toLowerCase()
|
||||||
|
|
||||||
|
|
@ -246,7 +246,9 @@ export class KernelInterceptorAgentStore extends Service {
|
||||||
if (typeof newAuthKey !== "string")
|
if (typeof newAuthKey !== "string")
|
||||||
throw new Error("Invalid auth key received")
|
throw new Error("Invalid auth key received")
|
||||||
|
|
||||||
const agentPublicKey = base16.decode(agentPublicKeyB16.toUpperCase())
|
const agentPublicKey = new Uint8Array(
|
||||||
|
base16.decode(agentPublicKeyB16.toUpperCase())
|
||||||
|
)
|
||||||
const sharedSecret = x25519.getSharedSecret(myPrivateKey, agentPublicKey)
|
const sharedSecret = x25519.getSharedSecret(myPrivateKey, agentPublicKey)
|
||||||
const sharedSecretB16 = base16.encode(sharedSecret).toLowerCase()
|
const sharedSecretB16 = base16.encode(sharedSecret).toLowerCase()
|
||||||
|
|
||||||
|
|
@ -293,8 +295,8 @@ export class KernelInterceptorAgentStore extends Service {
|
||||||
const nonce = window.crypto.getRandomValues(new Uint8Array(12))
|
const nonce = window.crypto.getRandomValues(new Uint8Array(12))
|
||||||
const nonceB16 = base16.encode(nonce).toLowerCase()
|
const nonceB16 = base16.encode(nonce).toLowerCase()
|
||||||
|
|
||||||
const sharedSecretKeyBytes = base16.decode(
|
const sharedSecretKeyBytes = new Uint8Array(
|
||||||
this.sharedSecretB16.value!.toUpperCase()
|
base16.decode(this.sharedSecretB16.value!.toUpperCase())
|
||||||
)
|
)
|
||||||
const sharedSecretKey = await window.crypto.subtle.importKey(
|
const sharedSecretKey = await window.crypto.subtle.importKey(
|
||||||
"raw",
|
"raw",
|
||||||
|
|
@ -317,11 +319,10 @@ export class KernelInterceptorAgentStore extends Service {
|
||||||
nonceB16: string,
|
nonceB16: string,
|
||||||
encryptedResponse: ArrayBuffer
|
encryptedResponse: ArrayBuffer
|
||||||
): Promise<PluginResponse> {
|
): Promise<PluginResponse> {
|
||||||
const nonce = base16.decode(nonceB16.toUpperCase())
|
const nonce = new Uint8Array(base16.decode(nonceB16.toUpperCase()))
|
||||||
const sharedSecretKeyBytes = base16.decode(
|
const sharedSecretKeyBytes = new Uint8Array(
|
||||||
this.sharedSecretB16.value!.toUpperCase()
|
base16.decode(this.sharedSecretB16.value!.toUpperCase())
|
||||||
)
|
)
|
||||||
|
|
||||||
const sharedSecretKey = await window.crypto.subtle.importKey(
|
const sharedSecretKey = await window.crypto.subtle.importKey(
|
||||||
"raw",
|
"raw",
|
||||||
sharedSecretKeyBytes,
|
sharedSecretKeyBytes,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue