Code Monkey home page Code Monkey logo

Comments (3)

saschanaz avatar saschanaz commented on September 17, 2024

아직도 브라우저들이 Web Cryptography를 제대로 지원하고 있지 않아 엉망이네요... 크롬에선 dev에서조차 아예 crypto.subtle이 지원되지 않고, 파폭은 stable에선 지원하지 않아도 Nightly에서 지원하네요. IE는 11에서 지원하지만 digest 메소드에서 SHA-1이 지원되지 않고, 스펙 구현에 필요한 ES6 Promise도 아직 지원하지 않고 있습니다. 가장 완성도 높은 Nightly에서 천천히 구현해 봐야겠고, IE의 경우 Promise를 지원할 IE12를 기대해 봐야겠습니다.

from xeit.

tomyun avatar tomyun commented on September 17, 2024

처음에 Xeit 구현하면서 JavaScript용 암복호화 라이브러리들이 뭐가 있나 찾아볼 때 Web Cryptography 관련 내용을 봤던 기억이 납니다.

일단 말씀해주신 것처럼 아직은 사용하기 어려운 수준이라는 생각이 들었고요. 또 안정성이 입증된 최신 알고리즘 위주로 구성되는 관계로 이제는 한물간 DES나 PBKDF1 같은 것들에 대한 지원이 없는 점, 마찬가지로 국산 SEED 알고리즘에 대한 지원도 어려운 점 등이 걸려서 포기했던 것 같네요. 참고로 SEED 알고리즘 추가에 관해서는 국내 webcrypto 그룹에서 활발한 토론이 이루어지는 듯 합니다.

PS: 파일 불러오기 풀 리퀘는 매우 감사히 받았는데 제가 작년말 이후로는 개인사정상 프로젝트에 거의 손을 대지 못하고 있습니다ㅠㅠ 당시 일부 메일에서 뭔가 이슈가 보였던 것으로 기억하는데 이후 지금까지 테스트를 못 하였네요. 정말 죄송하고, 조만간 다시 기회를 만들어보도록 하겠습니다^^;

from xeit.

saschanaz avatar saschanaz commented on September 17, 2024

@tomyun 오오, 답변 감사합니다. 이 글을 쓸 때 Nightly에서 Web Cryptography를 이용한 SHA-1 해싱 값이 CryptoJS를 쓴 것과 일치하는 것까지만 확인하고 그 뒤로 좀더 나아가진 못했네요. 비동기 방식인 Promise를 쓰는 덕분에 /plugin 쪽 코드를 Promise에 맞게 수정해야 쓸 수 있겠더군요. 이를 지원하지 않는 브라우저의 경우 Promise polyfill과 함께 CryptoJS로 fallback하고, 지원하더라도 필요한 알고리즘이 리스트에 없을 경우 또다시 CryptoJS에 의존하도록 만드는 것이 가능했습니다.

SEED도 지원했으면 한국 공인인증서 등이 웹 기반으로 바뀌기 더 좋지 않을까 생각했었는데 이미 활발히 토론이 이루어지고 있었군요. 좋은 정보 감사합니다!

from xeit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.