CAPICOM을 통해 데이터를 암호화하고 데이터베이스에 저장하는 Classic ASP로 작성된 응용 프로그램이 있습니다. 암호화 코드는 다음과 같이 보인다 (클래식 ASP, VB를 간결 조금 단순화.) :초기화 벡터 CAPICOM을 사용하여 데이터를 AES- 암호화하는 데 어떻게 찾을 수 있습니까?
set encryptObject = Server.CreateObject("CAPICOM.EncryptedData")
encryptObject.Algorithm.Name = 4 ' 4 is AES
encryptObject.Algorithm.KeyLength = ' 0 is MAX
encryptObject.SetSecret(sharedSecret) ' sharedSecret was set earlier
encryptObject.Content = stringToEncrypt
encryptedString = encryptObject.Encrypt()
을 지금, 나는이 데이터를 읽고 해독 할 필요가있는 .NET 응용 프로그램이 있습니다. RijndaelManaged
클래스를 사용하기 전에 .NET에서 AES 호환 암호화/암호 해독을 수행했으며이 데이터를 해독하기 위해 동일한 방법을 사용할 수 있기를 희망합니다. 그러나 RijndaelManaged
은 RijndaelManaged.CreateEncryptor
을 호출 할 때 키와 초기화 벡터를 전달해야하며 CAPICOM은 초기화 벡터를 사용하지 않으므로 CAPICOM의 암호화 된 데이터로이 코드를 작동시키는 방법을 알아낼 수 없습니다. 나는 CAPICOM이 초기화 벡터를 사용하고 있어야하지만 노출시키지 않아야한다고 가정합니다. 벡터를 어떻게 찾을 수 있습니까?
이 문제에 대한 해결책을 찾으면 궁금합니다. 나는 같은 상황에 처해 있으며 암호 해독 기능을 사용하기 위해 비틀 거리고있다! – Dave
@Dave - 나는이 작업을 한 번도 얻지 못했고 결국 다른 접근 방식을 취했습니다. 그러나 클래식 ASP의 CAPICOM이 뱉어내는 가치에는 암호화 된 값 이상이 포함되어 있다는 것을 알았습니다. 추가 속성으로 전체 복잡한 객체를 암호화합니다. 모든 해독 루틴은 제대로 작동하려면 전체 개체를 구문 분석해야합니다. –