0

certrequest を PEM base64 データとして持っています。以下のデータを参照してください。

1) 私の理解では、これは ASCII データ型であり、UNICODE 形式ではありません。どうか明らかにしてください。

-----BEGIN NEW CERTIFICATE REQUEST----- MIIBTjCBuAIBADARMQ8wDQYDVQQDEwZ3dTAwMzEwgZ0wDQYJKoZIhvcNAQEBBQAD gYsAMIGHAoGBAKP48eljetv3fVicT6g6hKjmLpsySJaZ/NnepEJEqtQQNbwsluhW yWxhHWzPoNPV9uqjZBW7EnqYjxyPp1A0vOK35uxmmcNrgmuSjO1WBkD0YVZwzh2u OovRCOwJKklQtJnQWoM+yT8CyBVk7raVJOrLDMC8FR5AMknVCIlt7HppAgEDoAAw DQYJKoZIhvcNAQEFBQADgYEAAK5G10e39GxiNiPXdrOAwtuIiLd1UTWn3VYY7nYY 74LhydUBjo0Xi6HBTTNVlPNoRB9GOe5P1Qgq0EJ6gLIriFY+Gxdl2Y4lSo7FmpxB +87bRCLpC3mxQltNm97ZysmS4I4diYhPDSS/2acKeH2cBgAtQVG9KsuZ41qxUQ10 EY8= -----END NEW CERTIFICATE REQUEST-----

2) 上記のデータが ASCII の場合、ICertRequest2::Submit ではデータが Unicode 文字列である必要があるため、BSTR に変換するにはどうすればよいですか。

3) ASCII データを直接 BSTR に変換できますか?

ありがとうラージ

4

2 に答える 2

0

US-ASCIIはUTF-8のサブセットです。ASCII文字のエンコード形式はUTF-8エンコードであるため、変換は必要ありません。

文字列をそのまま渡して、CR_IN_BASE64HEADERフラグを設定するだけです。

于 2009-06-11T17:57:45.923 に答える
0

また:

  1. MultiByteToWideChar呼び出す前に使用SysAllocString(またはSysAllocStringLen)

  2. BSTR の C++ ラッパーである_bstr_torを使用します。CComBSTR

于 2009-06-12T09:25:31.687 に答える