2010-03-19 4 views
1

xml-dsig 표준에 따라 디지털 서명을위한 요소에 대한 참조를 만들 때 "id"속성의 중요성이 중요합니까?XML 파일의 요소에 서명 할 때 "id"속성의 경우

"ID", "Id"및 "id"라는 속성을 보았으며 일부 소프트웨어 패키지는 다른 양식의 올바른 요소/노드를 찾는 데 어려움이 있습니다.

또한 다양한 사양과 스키마에 따라 예상되는 다양한 id 속성이 있습니다.

속성의 이름은 "id"로 지정해야하지만 대소 문자를 지정했거나 권장 사항 만 있습니까?

답변

1

(참고 : 당신은 내가 XML-DSIG 전문가 아니라고 알고 있어야합니다, 그래서 난 단지까지로 응답하고 XML, DTD 및 XML 스키마는 우려하고있다.)

XML 때문에, 대소 문자를 구분 대/소문자는 중요하며 사용중인 DTD 또는 스키마와 같아야합니다.

물론 응용 프로그램이 다른 사례와 다른 스키마를 사용하는 경우 호환성 문제가 있습니다.

공식 W3C 사양을 http://www.w3.org/TR/xmldsig-core/으로 보았는데 스키마와 DTD가 "Id"를 지정하는 것으로 보입니다. 사용중인 사양입니까?

또한 해당 DTD 유형이 "ID"이고 "id"라는 XQuery 함수가 있음을 아는 것은 혼동을 줄 수 있습니다.

+0

XML과 스키마가가는 한 대소 문자 구분의 중요성을 이해하는 데 아무런 문제가 없습니다. 두 가지 모두를 설계했습니다 ... XML 요소 서명에 대한 참조를 사용하여 "문제"가 있습니다. xmldsig-core의 어느 부분이 target id 속성의 대소 문자를 지정합니까? 예를 들어 xml-dsig 요소 Signature에 대문자 ID가 속성으로 있음을 볼 수 있습니다. 그러나 SignedInfo.Reference 요소에서 참조로 사용되는 "대상"속성은 대문자 여야합니다. 이 <데이터 ID = "myRef는"> ㅋ ㅋ ㅋ ㅋ ㅋ ㅋ 속성 "ID가"사건을해야한다 : – andrazk

+0

내가이 XML의 데이터 요소에 서명하고 싶은 말은? 주의를 기울여야 할 스키마가 없습니다! 내가 사용한 소프트웨어의 대부분은 "id"또는 "ID"또는 "Id"로 작동합니다. 일부는 "Id"로만 작동합니다. 하지만 규칙이 있습니까? 어쨌든 xml 파서는 스키마 참조와 특성 유형을 모르기 때문에 서명 참조가 가리키는 곳을 "추측"해야합니다 ... – andrazk