2010-01-03 3 views
1

에 나는 다음과 같은 시나리오를 고민하고있다 :디지털 서명 - 분리 된 PKCS # 7 XML-DSIG

  1. 하는 XML 메시지가 클라이언트 측을 만든 디지털 모질라의 window.crypto.signText를 사용하여 서명됩니다. 서명 후 메시지와 서명은 웹 서비스 (.net)를 통해 서버로 전송됩니다. 이 시점까지는 모든 것이 잘됩니다.

  2. 서버에있는 XML은 공개적으로 액세스 할 수있는 다른 XML 문서에 포함되어야합니다. 부인 방지를 부여하기 위해 서명을 게시해야합니다.

Q : 분리 된 Pkcs # 7을 XML-DSIG (예 : .net 프레임 워크 내의 기능)로 변환하는 부드러운 옵션이 있습니까?

Q2 : 또는 외부 플러그인을 사용하지 않고 이미 클라이언트 측 XML-DSIG를 만들 수 있습니까?

도움을 주신 Tnx! 때문에 모두 디지털 서명 형식 XML 및 PKCS # 7의 성격을 알 로이스 Paulin의

답변

4

, 다른 하나에서 변환 할 수 없습니다.

매우 간단한 설명으로 PKCS#7 형식의 서명에는 데이터 요약과 OID (개체 식별자)를 포함하고 사용자의 개인 키로 암호화 된 DigestInfo라는 특정 데이터 구조가 포함되어 있습니다. XML-Dsig 형식은 원본 XML 데이터 및 일부 특정 XML-DSig 데이터 구조를 요약하여 계산 된 다른 데이터 값에 암호화 알고리즘의 마지막 단계 (다시 사용자의 개인 키 포함)를 적용합니다. 따라서 암호화 된 값이 모두 같지 않으므로 사용자의 개인 키를 사용하여 데이터에 서명하여 XML-DSig 서명을 생성 할 수 있습니다.이 경우 사용자는 액세스 할 수 없으므로 (따라서 개인 이름).

첫 번째 질문에 대한 대답은 입니다. 아니요, 원활하지 않은 옵션이 있습니다. 전혀 사용할 수 없습니다. ".

따라서 유일한 옵션은 XML-DSig를 클라이언트 측에서 직접 생성하는 것입니다. 표준 자바 스크립트를 사용하는 것은 불가능합니다. 파이어 폭스의 window.crypto (PKCS7 분리 서명 만 생성합니다)에서는 그렇지 않습니다. 우리 회사 (www.isigma.es)에서 우리는 애플릿을 사용하여 디지털 서명 업계의 공통 솔루션 (많은 상업용 솔루션과 일부 오픈 소스 솔루션이 있음)을 해결합니다. 브라우저 플러그인을 원하지 않으면 귀하의 경우 옵션이 아닐 수도 있습니다.

CAPICOM (Microsoft 설정에서 사용할 수있는 Windows 기반 활성/X 구성 요소)도 CMS/PKCS7 만 XML-DSig를 생성하지 않습니다.

+0

당신의 낡은 대답에 대한 논평 - 웹 응용 프로그램에서 디지털 서명에 대해 잘 알고있는 것처럼 보이므로, 여기에 제 질문에 대한 제안이 있는지 궁금합니다. http://stackoverflow.com/questions/17607604/digitally-signing -data-in-a-web-app – user93353

+0

또 다른 질문입니다. 역방향 가능성이 있습니까? 예 : XMLDSig를 PKCS # 7 서명으로 변환합니까? – user93353

+0

그것이 첫 번째 단락에서 의미 한 것입니다. 둘 중 하나에서 다른 것으로 변환 할 수 없습니다. –