3

pysvn.Client.callback_ssl_server_trust_prompt requiredコミットしようとするとエラーが発生します。私はそれがインターネット検証との信頼に関係していることを理解しています。

これがドキュメントです、私はそれを理解していません。

pysvn.Client.callback_ssl_server_trust_prompt

import pysvn

def ssl_server_trust_prompt( trust_dict ):
    return retcode, accepted_failures, save

client = pysvn.Client()
client.callback_ssl_server_trust_prompt = ssl_server_trust_prompt

callback_ssl_server_trust_promptは、HTTPSサーバーが証明書を提示するたびに呼び出され、Subversionはそれが信頼できるかどうかわからない。callback_ssl_server_trust_promptは、trustdictの証明書に関する情報を使用して呼び出されます。

失敗-int-失敗のビットマスク

  • [これらのビットの意味は?]hostname-string-証明書がfinger_printから提示されたホスト名-string-certificatefinger print valid_from--string-このISO8601から有効日付valid_until-文字列-validutilthisISO8601日付issuer_dname-stirng-発行済みdname realm --string-レルムpysvnは、callback_ssl_server_trust_promptが3つの値(retcode、accepted_failures、save)のタプルを返すことを期待しています。

retcode-ブール値。ユーザー名とパスワードが使用できない場合はFalse。Subversionがユーザー名とパスワードを使用する場合はTrue。Accepted_failures --int、受け入れられた失敗はsave --booleanを許可し、subversionに構成ディレクトリの証明書を記憶させたい場合はTrueを返します。証明書の保存を防ぐには、Falseを返します。

4

2 に答える 2

6

pysvnがhttpsを使用してアクセスするリポジトリで操作を実行しようとする場合、サーバーのIDを検証する必要があります。これは、callback_ssl_server_trust_promptという関数を呼び出すことによって行われます。デフォルトでは、この関数は定義されていません。プログラマーは、信頼ディクショナリ内の情報を調べ、3つの値のタプルを返す関数を作成することによって信頼情報を提供する必要があります(ドキュメントの3番目の段落で説明されています)。

関数を作成したら、関数名をclient.callback_ssl_server_trust_promptに割り当てて、callback_ssl_server_trust_promptにします。

于 2011-02-24T19:12:29.903 に答える
3

retcodeの意味について誤解を招く可能性のあるドキュメントのエラーを修正しました。更新されたドキュメントは次の場所にあります。

http://pysvn.tigris.org/docs/pysvn_prog_ref.html#pysvn_client_callback_ssl_server_trust_prompt

trust_dictの値はすべて文書化されています。

通常、サーバー証明書を信頼するかどうかを決定するように人間に促します。

ただし、これが常にサーバー証明書を受け入れる最も単純な関数です。

def ssl_server_trust_prompt( trust_dict ):
    return (True    # server is trusted
           ,trust_dict["failures"]
           ,True)   # save the answer so that the callback is not called again

pysvnのBarryScott作者。

于 2016-08-16T10:50:21.810 に答える