3

W3C는 http://www.w3.org/TR/WebCryptoAPI/에서 javascript에서 디지털 서명, encrypton 등을 생성하는 방법을 정의하고 있습니다. 기본적으로 새 오브젝트 cryptowindow 오브젝트 내에 정의하고 DOM 오브젝트는 javascript에 signature 및 encrypton 기능을 제공해야합니다. Chrome은 자바 스크립트 엔진에서 현재 사용할 수있는이 개체를 구현하기 시작합니다. (베타 단계에서 생각합니다.) 일부 서명을 생성하려고 시도하지만 올바르게 작동하는 것처럼 보입니다. 그러나 디지털 서명을 생성하는 데 가장 유용한 방법이라고 생각합니다. 이 새로운 객체는 자동 생성 된 키 자료 대신 OS 키 저장소의 개인 키를 사용하지만이 액세스는이 초안에서 다루지 않습니다.OS 키 저장소를 사용하는 크롬에 js 서명

OS 키 스토어 (MS, Firefox KS, MAC OS X)를 처리하기 위해 서명 애플릿을 사용하여 1 년 동안 일하지만 애플릿이 마지막으로 생성하는 모든 문제를 피할 수 있다면 javascript에서 직접 수행하고 싶습니다. days ... 새 oracle 보안 requeriments, 새로운 MANIFEST.MF 특성, 브라우저 블로킹 플러그인 등이 진짜 고통입니다!

그래서 내가 이렇게하는 자바 스크립트 방법을 찾고 모든 주요 브라우저가 자신의 방법이 걸릴 것으로 보인다 해요 :

// instantiate the CAPICOM objects 
var store = new ActiveXObject("CAPICOM.Store"); 
store.Open(CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_ONLY); 
... 
: Internet Explorer에서

  • 윈도우 스토어에 액세스 할 수있는 ActiveXObject이를

  • 파이어 폭스에 액세스하려면 파이어 폭스는 signText 메서드를 window.crypto에 추가하십시오 (자세한 내용은 파이어 폭스 webCryptoAPI 구현 here 및 독점 구현에 대해서는참조).) :

    window.crypto.signText("textToSign", "ask");

편집 : 그것이 표준 아니기 때문에이 버전 34 이후 사용되지 않는 것이 파이어 폭스 방법 : https://developer.mozilla.org/en-US/docs/Archive/Mozilla/JavaScript_crypto 크롬에 그러나

은 현재 없습니다 아무것도 존재하지 않는 것 같다 똑같이하십시오.

아무도 Chrome에서 어떻게 이것을 달성 할 수 있는지 알고 있습니까? 누구나 모든 브라우저에서 공통된 방법을 알고 있습니다. 저에게 올바른 방향으로 조언을 주시면 감사하겠습니다.

감사합니다.

답변

2

MS Crypto Store에 액세스하고 암호화 작업을 수행 할 활성 구성 요소를 작성해야합니다. NativeClient SDK을 사용하는 자바 애플릿 또는 Chrome 브라우저 확장 프로그램 일 수 있습니다. Java 애플릿은 MSIE, Firefox, Chrome 및 기타 대부분의 브라우저에서 실행되지만 클라이언트 컴퓨터에 설치된 JRE (Java Runtime Environment)가 필요합니다.

+0

답장을 보내 주셔서 감사합니다. 저는 애플릿과 함께 1 년 동안 일하고 있으며, 매일 생산하는 문제를 다루기가 더 어렵습니다. 버그, 새로운 보안 requeriments 등등. 지금까지 NativeClient SDK에 대해 살펴 보았습니다. +1. 감사. – albciff

+0

@albciff 자바 애플릿에 대한 경험은 ** 정확히 동일하지만 ** 나는 고급 디지털 서명 기능을 갖춘 브라우저를 확장 할 수있는 다른 멀티 플랫폼 기술에 대해서는 잘 모른다. BTW NativeClient SDK를 좀 더 자세히 살펴 보았지만 파일 시스템에 액세스 할 수 없으며 MS Crypto Store 액세스에 필요한 타사 라이브러리를로드 할 수 없습니다. 자세한 내용은 [native-client-discuss 메일 링리스트에있는이 스레드] (https://groups.google.com/forum/#!topic/native-client-discuss/C9nR--vt-Ug)를 참조하십시오. – jariq

+0

아마 우리는 같은 문제를 겪었을 것입니다 ... 저는 오랫동안 애플릿을 다루었습니다. 요즘 나는 어느 때보 다 더 많은 문제를 가지고 있습니다. (자바 만트라 : 한 번 쓰는 것을 작성하십시오. 애플릿은 OS를 다룰 때 적용되지 않습니다. 키 스토어). 나는 자바 스크립트를 그렇게 할 수있는 좋은 방법이라고 생각하지만 당분간은 모든 브라우저가이 기능을 가져 오지 않고 가져 오는 각 브라우저가 자신의 구현 방식을 가지고 있다고 말한 것입니다. 다시 한번 감사드립니다. – albciff

관련 문제