2016-03-26 7 views
0

CERTENROLLおよびCERTCLIENTライブラリを使用してリモートCAにアクセスするWCFサービスを作成しました。 My GenerateCertificateリクエストには、登録リクエストで使用されたパスワードが使用されます。生成された証明書に関するメタデータと応答XMLの生のバイトのBase64文字列を返します。Win7/2008マシンのリモートWin2012 CAからPFXをインストールするときにパスワードが失敗する

生のcert文字列をローカルの.pfxファイルとして保存すると、Win10または2012マシンで簡単にインストールできます。しかし、私がWin7または2008マシンで試すと、パスワードが一致しません。

テンプレートから初期化された内部X509CertificateRequestPkcs10要求から初期化されたX509CertificateRequestCmc要求を供給しています。

このエラーが最初に発生したとき、私はOSバージョンCryptAttributeを要求レイヤのいずれかに適用して成功させようとしました。

CX509AttributeOSVersionClass os = new CX509AttributeOSVersionClass(); 
os.InitializeEncode("6.1.7601"); 

CX509AttributesClass attribs = new CX509AttributesClass(); 
attribs.Add((CX509Attribute)os); 

CCryptAttributeClass atty = new CCryptAttributeClass(); 
atty.InitializeFromValues(attribs); 

request.CryptAttributes.Add(atty); 

私はWebService層にのみ責任があり、私はPKIストアに直接アクセスできません。私のdevサーバーアプリケーションプールは、PKIサーバー上の許可されたADアカウントとして実行するように設定されており、そのアカウントのパスワードは持っていません。

私は店ですか?

答えて

0

これに対して私はMSへのチケットを呼び出しました。彼らはBase64のpfxファイルがWin7 & 2008システムにインストールされないという既知の問題があると述べました。答えは、Base64をデコードし、バイナリ経由でインストールすることです。 .cerに変換しないように注意してください。秘密鍵は失われます。

関連する問題