rsacryptoserviceprovider public/private 키를 사용하여 crypto ++와 대화 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/919733

문제

공개/개인 키를 사용하여 만들었습니다 rsacryptoserviceprovider XML로 저장했습니다. 이것을 사용하여 .NET에서 데이터를 암호화/데스로 암호화하고 데이터를 확인할 수 있습니다.

Linux 서버에서 실행되는 다른 응용 프로그램이 있습니다. C ++로 개발 중이며 암호화 요구에 Crypto ++를 사용하고 있습니다.

이 두 응용 프로그램간에 데이터를 공유하고 싶지만 RSAPARAMOTERS를 암호화 ++가 이해할 수있는 공개/개인 키로 변환해야합니다.

또한 Crypto ++에 의해 생성 된 Convert Public/Private 키를 쉽게 수행 할 수있는 경우 Rsaparameters로 사용할 수 있습니다.

어떤 아이디어?

도움이 되었습니까?

해결책

가장 쉬운 방법은 아마도 XML을 넘어서는 대신 rsaparameters를 직접 사용하는 것입니다.

RSAPARAMETERS에 포함 된 바이트 어레이를 자신의 선택 형식을 사용하여 파일에 저장하십시오. C ++ 프로그램에서 바이트 어레이를 읽고 작성하십시오. cryptopp :: 정수그들로부터 s. 해당 정수를 사용하여 초기화하십시오 rsafunction (공개 키) 또는 invertiblersafunction (개인 키).

반대 방식은 비슷합니다 : 즉

RSAFunction publicKey = ...;

size_t modulusLength = publicKey.getModulus().ByteCount();
unsigned char * modulus = new unsigned char[modulusLength];
publicKey.getModulus().Encode(modulus, modulusLength);

// similarly with PublicExponent and remember to clean up the arrays.

배열을 .NET-Application으로 전송하여 RSAPARAMETERS를 초기화 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top