0

웹과 WinForms 앱간에 공통 데이터베이스 코드를 사용하고 있습니다. 나는 연구하고 web.config 및 app.config 파일의 연결 문자열 섹션을 암호화하는 방법을 연구했습니다. 그 부분은 괜찮습니다. 또한 Azure 웹 응용 프로그램에서 연결 문자열을 해독하는 방법을 알아 냈습니다. 또한 컴퓨터의 인증서 저장소에 .pfx 파일을로드 한 후 내 WinForms 앱에서 연결 문자열을 읽을 수 있지만 pfx 파일에서 개인 키를 찾을 수 없어 재부팅 한 후에 실패합니다.WinForms 앱용 app.config의 연결 문자열 암호화

makecert -r -pe -n "CN = MyConfig를"-sky 교환 "myconfig.cer"-sv "myconfig.pvk"

pvk2pfx :

나는이 명령으로 생성 된 인증서를 사용하고 있습니다 이 날 3 개 파일을 제공 -pi

-pvk "myconfig.pvk"-spc "myconfig.cer"-pfx "myconfig.pfx"myconfig.pvk, myconfig.cer, 나는 가정

을 myconfig.pfx 문제는 개인 키가 pfx 파일에 저장되지 않아서 이후에 다시 인증해야한다는 것입니다. 재부팅 -하지만 난 그걸하는 방법을 알고 암호화에 대해 충분히 모르겠다. 또한 WinForms 앱은 제어되는 컴퓨터에 배포하기에 매우 제한적이므로 각 인증서를 수동으로 설치하고 싶습니다.

저는 암호화에있어 초보자입니다. 컴퓨터에 .pfx 파일을로드하고 비공개 키 (내가 알지만 사용자에게 알리지 않음)를 입력 할 수 있습니까? &이 파일은 지속적으로 저장되어 있습니까? 내가 뭔가를 놓치고 있습니까? 제가 설치해야하는 다른 인증서 파일이나 그것을 생성하는 방법이 있습니까? 개인 키를 액세스 가능하게 유지하고 싶지 않습니다. 누군가가 app.config 파일을 훔쳐 내면 파일을 해독 할 수 없도록하고 싶습니다.

참고 : RsaProtectedConfigurationProvider 및 DPAPIProtectedConfigurationProvider에 대해 읽었습니다. 나는 내 로컬 IIS &에 응용 프로그램을 배포 할 때 답변을 발견 오류 메시지에서 공급자 'CustomProvider'를 사용하여 암호를 해독하는 데 실패했습니다 오류 "를 가지고 http://blogs.msdn.com/b/sqlazure/archive/2010/09/07/10058942.aspx

답변

0

:. 나는 푸른, 심판과 함께 작동하기 때문에 PKCS12ProtectedConfigurationProvider을 사용하기로 선택한 공급자는 : 기사가 가능한 캘리포니아의 숫자를 포함

CryptographicException 'Keyset does not exist', but only through WCF

: 키 집합

이 문서의 도움으로 해결 개인 키와 권한 문제가 있었다 "존재하지 않는 사용, 내 문제를 해결 한 MMC 인증서 스냅인에서 '개인 키 관리'에서 사용 권한을 수정했습니다 (링크, 단계가 잘 배치되어 있습니다 참조).

관련 문제