다음을 통해 공유


SignedData.CoSign 메서드

[ CoSign 메서드는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 대신 System.Security.Cryptography.Pkcs 네임스페이스에서 SignedCms 클래스를 사용합니다.]

CoSign 메서드는 이전에 서명된 콘텐츠에 디지털 서명을 만듭니다.

구문

SignedData.CoSign( _
  [ ByVal Signer ], _
  [ ByVal EncodingType ] _
)

매개 변수

서명자 [in, optional]

데이터 서명 자의 Signer 개체에 대한 참조입니다. Signer 개체는 서명하는 데 사용되는 인증서의 프라이빗 키에 액세스할 수 있어야 합니다. 이 매개 변수는 NULL일 수 있습니다. 자세한 내용은 설명을 참조하세요.

EncodingType [in, optional]

서명된 데이터를 인코딩하는 방법을 나타내는 CAPICOM_ENCODING_TYPE 열거형의 값입니다. 기본값은 CAPICOM_ENCODE_BASE64. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
CAPICOM_ENCODE_ANY
이 인코딩 형식은 입력 데이터에 알 수 없는 인코딩 형식이 있는 경우에만 사용됩니다. 이 값을 사용하여 출력의 인코딩 형식을 지정하는 경우 CAPICOM_ENCODE_BASE64 대신 사용됩니다. CAPICOM 2.0에 도입되었습니다.
CAPICOM_ENCODE_BASE64
데이터는 base64로 인코딩된 문자열로 저장됩니다.
CAPICOM_ENCODE_BINARY
데이터는 순수 이진 시퀀스로 저장됩니다.

 

반환 값

이 메서드는 인코딩된 서명된 데이터가 포함된 문자열을 반환합니다.

이 메서드가 실패하면 오류가 throw됩니다. Err 개체에는 오류에 대한 추가 정보가 포함됩니다.

설명

중요

이 메서드가 웹 스크립트에서 호출되면 스크립트는 프라이빗 키를 사용하여 디지털 서명을 만들어야 합니다. 신뢰할 수 없는 웹 사이트에서 개인 키를 사용하도록 허용하는 것은 보안 위험입니다. 이 메서드가 처음 호출되면 웹 사이트에서 프라이빗 키를 사용할 수 있는지 여부를 묻는 대화 상자가 나타납니다. 스크립트가 프라이빗 키를 사용하여 디지털 서명을 만들고 "이 대화 상자를 다시 표시하지 않음"을 선택하면 프라이빗 키를 사용하여 디지털 서명을 만드는 해당 도메인 내의 스크립트에 대해 대화 상자가 더 이상 표시되지 않습니다. 그러나 프라이빗 키를 사용하여 디지털 서명을 만들려는 해당 도메인 외부의 스크립트는 여전히 이 대화 상자를 표시합니다. 스크립트에서 프라이빗 키를 사용하도록 허용하지 않고 "이 대화 상자를 다시 표시 안 함"을 선택하면 해당 도메인 내의 스크립트가 자동으로 프라이빗 키를 사용하여 디지털 서명을 만드는 기능이 거부됩니다.

 

Cosigner는 특정 순서로 보장되지 않습니다.

다음 결과는 Signer 매개 변수 값에 적용됩니다.

  • Signer 매개 변수가 NULL이 아닌 경우 이 메서드는 연결된 인증서가 가리키는 프라이빗 키를 사용하여 cosignature를 암호화합니다. 인증서가 가리키는 프라이빗 키를 사용할 수 없는 경우 메서드가 실패합니다.
  • Signer 매개 변수가 NULL이고 프라이빗 키에 대한 액세스 권한이 있는 CURRENT_USER MY 저장소에 정확히 하나의 인증서가 있는 경우 해당 인증서는 cosignature를 만드는 데 사용됩니다.
  • Signer 매개 변수가 NULL이면 Settings.EnablePromptForCertificateUI 속성 값이 true이고 사용 가능한 프라이빗 키가 있는 CURRENT_USER MY 저장소에 둘 이상의 인증서가 있는 경우 사용자가 사용할 인증서를 선택할 수 있는 대화 상자가 나타납니다.
  • Signer 매개 변수가 NULL이고 Settings.EnablePromptForCertificateUI 속성이 false이면 메서드가 실패합니다.
  • Signer 매개 변수가 NULL이고 사용 가능한 프라이빗 키가 있는 CURRENT_USER MY 저장소에 인증서가 없으면 메서드가 실패합니다.

요구 사항

요구 사항
재배포 가능 파일
Windows Server 2003 및 Windows XP의 CAPICOM 2.0 이상
DLL
Capicom.dll

추가 정보

암호화 개체

SignedData