문제

회사 프로젝트를 위해 C#에서 PKI 라이브러리를 구현하는 임무를 맡았으며 좋은 구현을 찾을 수 없었습니다. 여러 라이브러리가있는 것으로 보이며, 제거 된 MSDN 라이브러리를 가리키는 많은 깨진 링크가 있습니다. Crypt32.dll을 사용하는 사람들, 자신의 라이브러리를 구축하는 사람들, P/호출 시스템 인증서 저장소, 내장 라이브러리를 확장하는 사람들, 단순히 C# (예 : Java 예제)에 적용되지 않는 예제를 사용하는 사람들을 보았습니다. 및 상업용 도서관.

내 질문은 데이터의 간단한 암호화/암호 해독에 어떤 구현/라이브러리가 가장 권장됩니까?

내가 할 계획에 대한 배경에 따라 개인 키 (.pfx)를 사용하여 메시지를 암호화하고 공개 키 (.cer)와 해독하기 만하면됩니다. 이 수준의 프로젝트에서는 메시지 서명 및 인증이 필요하지 않지만 향후에있을 수 있습니다. 나는 암호화 길이에 대한 언급을 보았습니다. 우리는 길이의 메시지를 암호화 할 수 있어야합니다 (물론 이유 내에서). 이것이 제가 걱정해야 할 것이 있습니까? 그렇다면 그것을 다루는 방법이 있습니까?

가능한 경우 공개/개인 키를 Windows 인증서 관리자에 저장하지 않지만 구현을 훨씬 간단하게 만드는 경우이를 수행하는 것이 좋습니다.

나는 PKI와 암호화가 크고 복잡한 주제라는 것을 알고 있지만 어쨌든 비교적 간단한 도서관을 바라고 ... (한 사람이 희망 할 수 있습니까?)

감사!

도움이 되었습니까?

해결책

글쎄, 당신은 내장 클래스가 당신의 필요를 다루지 않는다고 언급하지 않았습니다. System.security.cryptography.rsacryptoserviceprovider?

스트림을 비대칭 적으로 암호화/암호화 할 수있는 대규모 설정된 방법이 있습니다.

그 길을 따라 잡을 수있는 몇 가지 튜토리얼/안내서가 있습니다.

http://www.codeproject.com/kb/security/rsacryptopad.aspx

http://www.eggeadcafe.com/articles/20020630.asp

더 많은 것을 찾을 수 있습니다 Google.

업데이트: 길이 제한에 대해 양쪽에 동일한 버퍼 알코리즘, 암호화 및 암호 해독을 구현하는 경우 문제가되지 않아야합니다.

업데이트 2: 예, 제 모범이되었습니다 rsacryptoprovider, 그러나 당신은에서 파생 된 클래스를 사용할 수 있습니다. System.security.cryptography.asymmetricalgorithm, 공공/개인 키 솔루션을 원한다면. 또는 자신의 것 ... 또는 아마도 아닐 수도 있습니다 :)

다른 팁

예, 내장 수업에 어떤 문제가 있습니까?

Windows 인증서를 사용하지 않으려면 이와 같은 것을 사용할 수 있습니다.

RSACryptoServiceProvider rscp = new RSACryptoServiceProvider();
rscp.FromXmlString("<RSAKeyValue><Modulus>key data gere</Modulus><Exponent></Exponent></RSAKeyValue>");

그러나 이것이 개인 키에 좋은 아이디어인지 확실하지 않습니다.

주제에 대한 좋은 튜토리얼이 있습니다 여기

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