PeculiarVentures / webcrypto-liner

webcrypto-liner is a polyfill that let's down-level User Agents (like IE/Edge) use libraries that depend on WebCrypto. (Keywords: Javascript, WebCrypto, Shim, Polyfill)
MIT License
148 stars 26 forks source link

iphonese ios: 9.3.5 can't worked #73

Closed cqupt-yifanwu closed 4 years ago

cqupt-yifanwu commented 4 years ago

I uesed ECDH

    const {publicKey, privateKey} = await crypto.subtle.generateKey(
        {
            name: "ECDH",
            namedCurve: "P-256",
        },
        false,
        ["deriveKey", "deriveBits"]
    );

i trans it to es3. does this has compatibility report, or only ecdh' compatibility in mobile phone(ios & Android),

cqupt-yifanwu commented 4 years ago

image

rmhrisk commented 4 years ago

Unfortunately we no longer have access to devices running 9.3.5. I believe we did work at this level at one point though.

Possibilities include: 1) issue with transpiration to es3 (probably relating to the associated polyfills) 2) changes to dependencies that have happened.

If you can resolve the issue we would accept a well thought out PR.

microshine commented 4 years ago

Please try this script. I compiled it using iOS9 target webcrypto-liner.shim.js.txt

cqupt-yifanwu commented 4 years ago

Please try this script. I compiled it using iOS9 target webcrypto-liner.shim.js.txt

image it is not worked to me

and i used babel-ployfill transfer my project

microshine commented 4 years ago

Can you detect which line of webcrypto-liner throws an exception?

and please check window.liner.crypto.subtle.generateKey. Maybe webcrypto-liner can't replace winodos.crypto

cqupt-yifanwu commented 4 years ago

hi @microshine i try to check crypto , and i found in chorem window.liner is undefined, but crypto.subtle is different with origin window.crypto.subtle image image

the error throw in this line image

i has babeled this file, so it may not correct image

in the error ios safari

image

it not replace window. crypto

microshine commented 4 years ago

Is it possible to use webcrypto-liner.shim.js without adding it to a bundle file?

If you want to use webrypto-liner as ES6 module you can do it but you need to initialize your own crypto object

import { Crypto } from "webcrypto-liner";

const crypto = new Crypto();
cqupt-yifanwu commented 4 years ago

hi @microshine i use webpack to Compile my code,and it worded in IE。i just want to run ecdh in lower version mobile phone like ios 9.3.5 image image

cqupt-yifanwu commented 4 years ago
import { Crypto } from "webcrypto-liner";

const crypto = new Crypto();

it is work for me...