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 無事にブラウズすることができました。パチパチ