IOpcDigitalSignatureManager::ReplaceSignatureXml 메서드(msopc.h)
지정된 서명 부분에 저장된 기존 서명 태그를 바꿉니다.
구문
HRESULT ReplaceSignatureXml(
[in] IOpcPartUri *signaturePartName,
[in] const UINT8 *newSignatureXml,
[in] UINT32 count,
[out, retval] IOpcDigitalSignature **digitalSignature
);
매개 변수
[in] signaturePartName
기존 서명 태그를 저장하는 서명 파트의 파트 이름을 나타내는 IOpcPartUri 인터페이스 포인터입니다.
[in] newSignatureXml
기존 태그를 대체할 서명 태그가 포함된 버퍼입니다.
[in] count
newSignatureXml 버퍼의 크기입니다.
[out, retval] digitalSignature
newSignatureXml에 전달된 서명 태그에서 파생된 서명을 나타내는 새 IOpcDigitalSignature 인터페이스에 대한 포인터입니다.
반환 값
이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.
반환 코드/값 | Description |
---|---|
|
메서드가 성공했습니다. |
|
signaturePartName, newSignatureXml 및 digitalSignature 매개 변수 중 하나 이상이 NULL입니다. |
|
newSignatureXml 버퍼에는 패키지 Object 요소를 참조하는 둘 이상의 Reference 요소가 포함되어 있지만 이러한 Reference는 하나만 허용됩니다. |
|
newSignatureXml 버퍼에는 ID 특성이 동일한 두 개 이상의 SignatureProperty 요소가 포함되어 있습니다. |
|
newSignatureXml 버퍼에서 Reference 요소는 패키지 외부에 있는 개체를 참조합니다. 참조 요소는 내부 요소 또는 개체 요소를 가리킬 수 있어야 합니다. |
|
newSignatureXml 버퍼에서 지원되지 않는 정식화 메서드가 요청되거나 사용되었습니다. |
|
newSignatureXml 버퍼에서 관계 변환 및 변환의 선택 조건을 사용하는 것을 나타내는 Transform 요소가 OPC에 지정된 스키마를 따르지 않습니다. |
|
newSignatureXml 버퍼에는 정확히 하나의 서명에 대한 서명 태그가 포함되어 있지 않습니다. |
|
newSignatureXml 버퍼의 크기는 0이지만 이 버퍼의 크기는 0보다 커야 합니다. |
|
newSignatureXml 버퍼에서 관계 변환 뒤에 정식화 메서드가 표시되지 않습니다. 관계 변환 뒤에 정식화 메서드가 있어야 합니다. |
|
newSignatureXml 버퍼에서 패키지별 Object 요소에 대한 참조를 찾을 수 없습니다. |
|
newSignatureXml 버퍼의 서명 태그는 서명 메서드 알고리즘을 지정하지 않습니다. |
|
newSignatureXml 버퍼에서 SignatureProperties 요소를 찾을 수 없습니다. |
|
newSignatureXml 버퍼에서 SignatureProperties 요소의 SignatureProperty 자식 요소를 찾을 수 없습니다. |
|
newSignatureXml 버퍼에서 ID 특성 값이 "idSignatureTime"인 SignatureProperty 요소가 없거나 올바르게 생성되지 않았습니다. |
|
newSignatureXml 버퍼에서 Reference 요소에 대해 둘 이상의 관계 변환이 지정되지만 하나의 관계 변환만 허용됩니다. |
|
newSignatureXml 버퍼에 있는 Reference 요소의 URI 특성 값에는 참조된 파트의 콘텐츠 형식이 포함되지 않습니다. |
|
newSignatureXml 버퍼에서 SignatureProperty 요소에 필요한 Target 특성이 없습니다. |
|
newSignatureXml 버퍼에 있는 Reference 요소에는 URI 특성이 필요하지만 특성이 없습니다. |
|
패키지가 서명되지 않았습니다. 따라서 서명 태그를 바꿀 수 없습니다. |
|
지정된 부분이 없습니다. |
설명
이 메서드는 newSignatureXml 매개 변수에 있는 새 서명 태그에서 파생된 서명의 유효성을 검사하지 않습니다.
호출자는 지정된 서명 부분의 기존 서명 태그를 대체하는 새 서명 태그가 서명을 중단하지 않는지 확인해야 합니다.
이 메서드는 기존 서명 태그를 변경합니다. 원본으로 지정된 서명 부분이 있는 인증서 및 관계가 유지됩니다.
스레드 보안
패키징 개체는 스레드로부터 안전하지 않습니다.
자세한 내용은 패키징 API를 사용한 시작 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | msopc.h |
추가 정보
개요
참조