2017-10-04 2 views
0

키 작동상의 문제는 mac 및 Safari 11 용 Outlook에 나타납니다. Mac에서 Chrome/Firefox를 실행하면 잘 작동합니다.importKey SHA-1이 사파리에서 작동하지 않는 RSA-OAEP 11

내가 JS의 webCrypto 라이브러리를 사용 : https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API

그리고 또한 사파리에서 문제를 해결해야하는 암호화의 또 다른 라이브러리 : https://github.com/vibornoff/webcrypto-shim

그것은 'importKey'기능의 수준에 붙어 :

    window.crypto.subtle.importKey(
        "jwk", 
        { 
         "kty": "RSA", 
         "e": E VALUE, 
         "n": N VALUE, 
         "alg": "RSA-OAEP", 
         "ext": true 
        }, 
        { 
         name: "RSA-OAEP", 
         hash: { name: "SHA-1" }, 
        }, 
        true, 
        ["encrypt"] 
        ).then(function (publicKey) { }) 

는 오류가 나는 얻을 : OpeartionTypeError : 회원 JsonWebKey.kty 필수이며 DOMString의 인스턴스 여야합니다.

Safari WebCrypto API RSA-OAEP encryption 그리고 'RSA-OAEP'alg 및 'SHA-1'의 해시를 사용하여 해결책을 수락했지만 변경하려고하는 것과 상관없이 항상 같은 오류가 발생합니다.

나는 webcrypto의 모든 기능이 사파리 11에서 작동하지만이 문제에 집착하지 않았는지 확신하지 못합니다.

대단히 감사합니다.

답변

0

우리는 다양한 브라우저에 대한 동작을 통합하고 하위 브라우저에 대한 JS 구현을 제공하는 https://github.com/PeculiarVentures/webcrypto-liner이라는 심층을 만들었습니다.

을 사용하면이 플러그인이 있거나없는 브라우저에서 예상되는 지원을 테스트 할 수 있습니다.

Safari 11.0 (13604.1.38.1.6)에서 shim 레이어를 사용하지 않고 RSA-OAEP/w SHA1을 가져올 수있는 것 같습니다.

내가 수행 한 작업 (샘플 값 및 브라우저 빌드 버전)에 대한 완전한 예가 없으면 나 또는 다른 누구도 많이 도움을 줄 수 없다고 생각합니다.

+0

도움을 주셔서 감사합니다. 훌륭한 라이브러리를 사용하십시오. 라이브러리와 'webcrypto-shim'라이브러리의 차이점은 무엇입니까? 내 경우에 대해, 갑자기 원래 코드가 사파리에서 작동하고, 이상한 행동은 잠시 동안 작동하지 않습니다. – OriEng

+0

'webcrypto-shim'은 일부 좁은 경우에만 동작을 정상화하려고 시도하는데, 광산에서는이를 수행하고 알고리즘이없는 곳에서 지원을 추가합니다. 코드의 무작위 동작과 관련하여 미안하지만 더 많은 데이터가 없으면 도움이되지 않습니다. – rmhrisk

+0

PBKDF2를 Safari에서 사용할 수 없기 때문에 webcrypto-liner를 사용해 보았습니다. 하지만 잠시 동안 어리 석게 작동 시키려고 할 때, 나는 webcrypto-liner가이 문제를 해결할 수 없다는 것을 알았고, 문서에서도 작동하지 않는다고 밝혀졌습니다. 이것은 정말로 우울합니다. Webkit에는 분명히 https://webkit.org/blog/7790/update-on-web-cryptography/이 기능이 있기 때문에 다소 이상합니다. Safari에서 주요 파생물을 만드는 것은 100 % 불가능한가요? (iOS에서이 작업을 수행 할 수 없다는 의미입니다.) – Vlad

관련 문제