2010-07-20 8 views
3

CAPICOM을 더 이상 사용할 수 없어서 (64 비트 Windows 7 컴퓨터) CAPICOM 사용을 중단하려고합니다. TripleDES를 사용을위한CAPICOM TripleDES와 System.Security.Cryptography의 차이 TripleDES

기존 코드는 다음과 같이이다 : 암호화에 제공된

EncryptedDataClass cryptic = new EncryptedDataClass(); 
cryptic.Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM.CAPICOM_ENCRYPTION_ALGORITHM_3DES; 
cryptic.SetSecret(secretKey, CAPICOM_SECRET_TYPE.CAPICOM_SECRET_PASSWORD); 
cryptic.Content = stringToEncrypt; 
encryptedString = cryptic.Encrypt(CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_ANY); 

정보 만이 비밀 키이다. 그리고 secretKey는 약 10 바이트가됩니다. .NET 클래스를 사용하여 동일한 암호화를 수행하는 방법이 있습니까? 참고 : 여전히 CAPICOM을 사용하는 웹 서비스에 대한 연결을 확인하는 데 사용됩니다. 도움이나 아이디어를 크게 주시면 감사하겠습니다.

+0

해결 했습니까? 나는 같은 문제가있다 .... –

+0

이것을 해결할 수 없었다. 클라이언트는 오래된 블랙 박스 dll을 제자리에 유지하기로 결정했습니다. – Posthuma

+0

@ user821181, 내 대답은 아래를 참조하십시오. – Ben

답변

0
정확히

하지 귀하의 질문에 대한 대답과도는 이상적이지만, 우리는 CAPICOM과 같은 문제를 명중하여 64 비트의 세계에서 작동하는 그것을 가지고 :

  • 에 복사 바이너리를 [창] \ syswow64로
  • (해당 경로 내에서 실행 에 regsvr32 capicon.dll) 서비스
+0

그게 효과가있다. 그러나 .NET 암호화 도구를 구현하고 이전 CAPICOM dll로 작업하려고했습니다. – Posthuma

0

당신은 (명백하게) 64 비트 시스템에서 32 비트 프로세스에서 CAPICOM을 사용할 수 있습니다를 등록합니다. 스크립트에서 사용하는 경우 cscript.exewscript.exe의 32 비트 버전을 사용해야합니다. 예 :

c:\windows\sysWOW64\cscript.exe "c:\path\to\script.wsf" 

c:\windows\sysWOW64\cscript.exe "c:\path\to\another\vbscript.vbs" 

이 작업은 정상적으로 진행됩니다. 현재 제작 중에 있습니다.

또한이 대답에는 CAPICOM을 대리 등록하는 방법에 대한 설명이 나와 있으므로 64 비트 프로세스 (64 비트 스크립트 포함)에서 사용할 수 있습니다.

는 실제로 64 비트 SQL 서버에서 CAPICOM을 사용하여 이런 짓을하고 그것을 잘 작동합니다.

1

SetSecret은 핵심이 아닙니다! MSDN에서

:

CAPICOM_SECRET_TYPE 열거가 키를 유도하는데 사용되는 비밀의 종류의 데이터를 암호화/복호화에 사용될 나타내는

CAPICOM_SECRET_TYPE 열거.

상수 CAPICOM_SECRET_PASSWORD 암호 키는 암호에서 파생됩니다.