Adding second owner to a pool using Adalite

Hello everyone,
I am in the process of adding a second owner to my pool. He is using a Ledger HW wallet.
We started in this order,
Th second owner download his stake.vkey and send it to me.
I have created the pool.cert using my key plus his key
I created a transaction as tx.raw with 2 witnesses
I signed as the first owner and created tx.signed
I send it to the second owner.
He used Adalite.io checked every parameter and signed than click download. Adalite produced witness.json file.
He send back to me and now I am confused.

I need to submit tx.signed using witness.json but I can not figure it out.

I have checked vacuumlabs explanation, link below, They explain that I need to assemble transaction using witness.json but how?

After the first attempt I thought maybe I should send the tx.raw file directly to the second owner expecting after he sing first, it will create tx.signed file but instead, he download witness.json again.

As far as I understand, I need to assemble a transaction instead of signing one.
The image below from a comment on the Adalite.io site for a different question but explaining what should I do, I guess…

image

If someone put some light on this, it would be great.

cardano-cli transaction assemble
–tx-body-file tx.raw
–witness-file node-cold.witness
–witness-file stake.witness
–witness-file payment.witness
–witness-file trezor_stake.witness
–out-file tx.multisign

cardano-cli transaction submit
–tx-file tx.multisign
–mainnet

Thanks @Vadimus but this solution requires the second owner restore his wallet into preferably air-gap PC in order to export skate2.hwsfile plus using Cardano-cli to create witness file.

I am trying to understand how Adalite.io doing without restoring the wallet to anywhere. As the second owner not much a techie person, your solution create different challenge for us.

Thanks again for your help.

hwsfile file is needed if you use cardano-hw-cli on PC, adalite reproduces cardano-hw-cli functions via web

cardano-cli transaction build-raw
${tx_in}
–tx-out $(cat payment.addr)+${txOut}
–ttl $(( ${currentSlot} + 10000))
–fee ${fee}
–certificate-file pool.cert
–out-file tx.raw

cardano-cli transaction witness
–tx-body-file tx.raw
–signing-key-file node.skey
–mainnet
–out-file node-cold.witness

cardano-cli transaction witness
–tx-body-file tx.raw
–signing-key-file stake.skey
–mainnet
–out-file stake.witness

cardano-cli transaction witness
–tx-body-file tx.raw
–signing-key-file payment.skey
–mainnet
–out-file payment.witness

cardano-hw-cli transaction witness
–tx-body-file tx.raw
–hw-signing-file trezor_stake.hwsfile
–mainnet
–out-file trezor_stake.witness

cardano-cli transaction assemble
–tx-body-file tx.raw
–witness-file node-cold.witness
–witness-file stake.witness
–witness-file payment.witness
–witness-file trezor_stake.witness
–out-file tx.multisign

cardano-cli transaction submit
–tx-file tx.multisign
–mainnet

In this script, you replace the part with cardano-hw-cli using adalite

Thanks @Vadimus for your help.
Although I just wanted to use adalite solution, I had to use your solution instead.

For future reference, I had to use an air-gaped node to create the hw.witness fie.

Thanks