Apache+Subversionで自前のSSL証明書

redmineをプロジェクトで使うことになって、
ブラウザ上からのリポジトリの設定でサクっといくのかと
思ったらうまくいかず。

Output was:
‘https://xxx.xxxx.co.jp:443’ のサーバ証明書の認証中にエラーが発生しました:
– 証明書は信頼のおける機関が発行したものではありません。証明書を手動で認証
するためにフィンガープリントを用いてください!
証明書情報:
– ホスト名: xxx.xxxx.co.jp
– 有効範囲: Fri, 25 Jan 2008 02:54:06 GMT から Sun, 17 Jan 2038 02:54:06 GMT まで
– 発行者: XXX
– フィンガープリント: xxxxx
拒否しますか (R)、一時的に承認しますか (t)、常に承認しますか (p)? svn: PROPFIND リクエスト (相手: ‘/xx/xxxx’) が失敗しました

↑こんな風に言われます。
お金ない割りにセキュリティはうるさいですから。
SSL証明書は自前でやんす。

どうやったらゴリ押せるのかなって。
クライアント証明とかめんどいからやりたくないなと。

RepositoriesControllerのshowで落っこちてたので、
ずーっとステップ実行して追っていったら、

AbstractAdapterのshelloutってとこで、
拒否しますか (R)、一時的に承認しますか (t)、常に承認しますか (p)?
↑がシカトされてるっぽい。

日本語をその通り取れば、”p”って入れればいいのかなと思って。
↓こんな風にしてみました。
def shellout(cmd, &block)
  logger.debug “Shelling out: #{cmd}” if logger && logger.debug?
   IO.popen(cmd, “r+”) do |io|
    io.puts “p” ← ココ追加
    io.close_write
    block.call(io) if block_given?
   end
end

↓を読んでもそれっぽそうなことが書いてあるし。
http://www.ruby-lang.org/ja/man/html/IO.html

結果、
redmine.JPG
無事にブラウズすることができました。パチパチ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. shinodogg より:

    ん?本当か??w
    io.puts “R”とか入れても、
    コメントアウトして再起動しても、
    何しても普通にリポジトリみれるようになっちゃった・・・
    ん。。