Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Mar 2026 00:43:52 +0900
From:      Kenichi Okuyama <kenichi.okuyama@gmail.com>
To:        masa@amogha.jp
Cc:        freebsd-users-jp@freebsd.org
Subject:   =?UTF-8?B?UmU6IC5hdXRoaW5mbyDjga7mmpflj7fljJY=?=
Message-ID:  <CACEZLHrSaJtX0VXXJoDckfJrUfpvKBueZKC1p=CEOb43tbg20w@mail.gmail.com>
In-Reply-To: <ydlse9lco2s.fsf@pc06.mar>
References:  <ydl8qbfe8ym.fsf@pc06.mar> <ydlse9lco2s.fsf@pc06.mar>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
もしかして> --no-tty が必要?

奥山 健一(Kenichi Okuyama)

2026年3月28日(土) 0:03 丸山直昌 <masa@amogha.jp>:

> 家庭菜園FreeBSD愛好家 丸山です。
>
> gpg -c .authinfo で暗号化ができない問題ですが、その後色々調べたところ現
> 象を詳しく把握することができました。
>
> まず私が試した gpg ですが
>
> % gpg --version
> gpg (GnuPG) 2.4.7
> libgcrypt 1.11.0
> Copyright (C) 2024 g10 Code GmbH
> License GNU GPL-3.0-or-later <https://gnu.org/licenses/gpl.html>;
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
>
> Home: /usr/home/maruyama/.gnupg
> サポートしているアルゴリズム:
> 公開鍵: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
> 暗号方式: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256,
>       TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256
> ハッシュ: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
> 圧縮: 無圧縮, ZIP, ZLIB, BZIP2
>
> です。
>
> 私が直面していた無限ループに陥って暗号化ができない問題は、テストとして使っ
> たパスフレーズが7文字以下で、短すぎることが直接的な原因でした。8文字以上
> の文字列を使えば暗号化はこの方法でできることがわかりました。konsole上で
> できます。
>
> では何故7文字以下でも ttyv 画面上ではできたのかという点ですが、何とstty
> の columns が関係していたのです。私が普段使っているディスプレーは
> 1920x1080の解像度、標準的には起動後に ttyv の画面が
> 54 rows; 192 columns; となります。non ascii utf-8 フォントを入れていない
> ので字化けしますが、これだと 7文字以下のパスフレーズを入れた場合に無限ルー
> プに陥らずに暗号化ができます。konsole を横に大きくしてgpg -c の実験をし
> てみると、columns が171以下の場合には同じように 7文字以下のパスフレーズ
> で無限ループになるのですが、columns 172 以上だと
>
>     警告: 安全とは言えないパスフレーズが入力されました。
>     パスフレーズは最低でも8文字以上でなければなりません。
>     <それでもこれを使います>         <新しいパスフレーズを入力してください>
>
> と表示されて <それでもこれを使います> の方を選択すると暗号化は成功します。
> これが私が字化け部分が読めない状態でやっていたことでした。
>
> しかし、この gpg の仕様は酷すぎますね。私は普段 konsole を 110 columns;
> で使っているのですが、それだと8文字以上のパスフレーズを入れて使う場合で
> も、画面は乱れて、極めて使い難い状態です。その上7文字以下のパスフレーズ
> だと何の警告も表示されずに再度パスフレーズ入力画面になってしまいます。
>
> 80 columns で動かない文字型メニューインターフェースなんて、呆れて言葉も
> ありません。
>
> 皆さんお使いのバージョンの gpg はどうなっていますか。
>
> Thu, 26 Mar 2026 09:21:53 +0900
> 丸山直昌 <masa@amogha.jp> writes:
>
> >emacs で smtpmail を使う場合にsmtp 接続認証パスワードは ~/.authinfo に入
> >れておくわけですが、平文で入れておくのは(自分一人しかユーザがいないシス
> >テムでも)気持ちが悪いので、暗号化を試みていたのですが、うまく行かずに困っ
> >ていました。gpg にバグがあるのか、或いは gpg の使い方が間違っているのか、
> >数日悩んでいたのですが、ChatGPTに聞いてもやはり
> >
> >        gpg -c .authinfo
> >
> >とするか、emacs を使って .authinfo.gpg を作れ、という答えで、FreeBSD13.5
> >ではいずれもうまく行きません。10.2の時代には(kwalletを使わずに) gpg -c
> >を使って自前で各種パスワード情報を暗号化していた経験があるので、「gpg2に
> >なって何か変わったのか?」とも思ったのですが、ひょっとして curses回りの
> >トラブルか?と疑って
> >
> >        Xwindows 上の Konsole で gpg -c コマンドを使うと画面が乱れてうま
> >        く動かないのですが、どうしたら良いのでしょうか。
> >
> >とChatGPTに聞いてみたところ、
> >
> >        これはわりと典型的な問題で、原因は GPG が「curses系のピンエント
> >        リ(パスフレーズ入力UI)」を使おうとして Konsole と相性が悪いこ
> >        とです。
> >
> >という答えでした。しかし示された解決法はいずれもFreeBSD13.5では使えない
> >ものでした。konsole の他 xterm, xfce端末なども試してみましたが、いずれも
> >パスフレーズを入力する画面が乱れ、「OK」を選択しても同じ乱れた画面が再度
> >表示されて無限ループに陥ります。最後にたどり着いた方法は ctrl+atl+F2 で
> >ttyv1画面に移り、そこで gpg -c .authinfo をやることです。これだと utf-8
> >の文字はすべて字化けしますが、画面が無限ループに陥ることなく無事に
> >.authinfo.gpg ができます。
> >
> >これで目出度く解決か、と思ったのですが、まだ問題がありました。smtpmailの
> >設定を行った上でメールを作り C-c C-c でメールを送信しようとすると、今度
> >は emacs は .authinfo.gpg の解読段階で躓いてエラーとなり、メールが送れま
> >せん。しかしこれはもう一度 C-c C-c をやると送れます。おそらく gpg-agent
> >が働いて二度目は パスフレーズの入力を求めないからだと推測しています。
> >
> >あまり綺麗な解決法ではないですが、ま、一応当初の目的は達成できたというと
> >ころです。もう少しマシな解決法はないですかね。
> >
> >FreeBSD14.x ではどうなのでしょうか。
> >
> >--------
> >丸山 直昌 まるやま なおまさ
> >メールアドレス: masa@amogha.jp
>
>

[-- Attachment #2 --]
<div dir="auto"><div>もしかして&gt; --no-tty が必要?</div><div><br></div><div data-smartmail="gmail_signature">奥山 健一(Kenichi Okuyama)</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">2026年3月28日(土) 0:03 丸山直昌 &lt;<a href="mailto:masa@amogha.jp">masa@amogha.jp</a>&gt;:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">家庭菜園FreeBSD愛好家 丸山です。<br>
<br>
gpg -c .authinfo で暗号化ができない問題ですが、その後色々調べたところ現<br>
象を詳しく把握することができました。<br>
<br>
まず私が試した gpg ですが<br>
<br>
% gpg --version<br>
gpg (GnuPG) 2.4.7<br>
libgcrypt 1.11.0<br>
Copyright (C) 2024 g10 Code GmbH<br>
License GNU GPL-3.0-or-later &lt;<a href="https://gnu.org/licenses/gpl.html" rel="noreferrer noreferrer" target="_blank">https://gnu.org/licenses/gpl.html</a>&gt;<br>;
This is free software: you are free to change and redistribute it.<br>
There is NO WARRANTY, to the extent permitted by law.<br>
<br>
Home: /usr/home/maruyama/.gnupg<br>
サポートしているアルゴリズム:<br>
公開鍵: RSA, ELG, DSA, ECDH, ECDSA, EDDSA<br>
暗号方式: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256,<br>
      TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256<br>
ハッシュ: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224<br>
圧縮: 無圧縮, ZIP, ZLIB, BZIP2<br>
<br>
です。<br>
<br>
私が直面していた無限ループに陥って暗号化ができない問題は、テストとして使っ<br>
たパスフレーズが7文字以下で、短すぎることが直接的な原因でした。8文字以上<br>
の文字列を使えば暗号化はこの方法でできることがわかりました。konsole上で<br>
できます。<br>
<br>
では何故7文字以下でも ttyv 画面上ではできたのかという点ですが、何とstty<br>
の columns が関係していたのです。私が普段使っているディスプレーは<br>
1920x1080の解像度、標準的には起動後に ttyv の画面が<br>
54 rows; 192 columns; となります。non ascii utf-8 フォントを入れていない<br>
ので字化けしますが、これだと 7文字以下のパスフレーズを入れた場合に無限ルー<br>
プに陥らずに暗号化ができます。konsole を横に大きくしてgpg -c の実験をし<br>
てみると、columns が171以下の場合には同じように 7文字以下のパスフレーズ<br>
で無限ループになるのですが、columns 172 以上だと<br>
<br>
    警告: 安全とは言えないパスフレーズが入力されました。<br>
    パスフレーズは最低でも8文字以上でなければなりません。<br>
    &lt;それでもこれを使います&gt;         &lt;新しいパスフレーズを入力してください&gt; <br>
<br>
と表示されて &lt;それでもこれを使います&gt; の方を選択すると暗号化は成功します。<br>
これが私が字化け部分が読めない状態でやっていたことでした。<br>
<br>
しかし、この gpg の仕様は酷すぎますね。私は普段 konsole を 110 columns;<br>
で使っているのですが、それだと8文字以上のパスフレーズを入れて使う場合で<br>
も、画面は乱れて、極めて使い難い状態です。その上7文字以下のパスフレーズ<br>
だと何の警告も表示されずに再度パスフレーズ入力画面になってしまいます。<br>
<br>
80 columns で動かない文字型メニューインターフェースなんて、呆れて言葉も<br>
ありません。<br>
<br>
皆さんお使いのバージョンの gpg はどうなっていますか。<br>
<br>
Thu, 26 Mar 2026 09:21:53 +0900<br>
丸山直昌 &lt;<a href="mailto:masa@amogha.jp" target="_blank" rel="noreferrer">masa@amogha.jp</a>&gt; writes:<br>
<br>
&gt;emacs で smtpmail を使う場合にsmtp 接続認証パスワードは ~/.authinfo に入<br>
&gt;れておくわけですが、平文で入れておくのは(自分一人しかユーザがいないシス<br>
&gt;テムでも)気持ちが悪いので、暗号化を試みていたのですが、うまく行かずに困っ<br>
&gt;ていました。gpg にバグがあるのか、或いは gpg の使い方が間違っているのか、<br>
&gt;数日悩んでいたのですが、ChatGPTに聞いてもやはり<br>
&gt;<br>
&gt;        gpg -c .authinfo<br>
&gt;<br>
&gt;とするか、emacs を使って .authinfo.gpg を作れ、という答えで、FreeBSD13.5<br>
&gt;ではいずれもうまく行きません。10.2の時代には(kwalletを使わずに) gpg -c<br>
&gt;を使って自前で各種パスワード情報を暗号化していた経験があるので、「gpg2に<br>
&gt;なって何か変わったのか?」とも思ったのですが、ひょっとして curses回りの<br>
&gt;トラブルか?と疑って<br>
&gt;<br>
&gt;        Xwindows 上の Konsole で gpg -c コマンドを使うと画面が乱れてうま<br>
&gt;        く動かないのですが、どうしたら良いのでしょうか。<br>
&gt;<br>
&gt;とChatGPTに聞いてみたところ、<br>
&gt;<br>
&gt;        これはわりと典型的な問題で、原因は GPG が「curses系のピンエント<br>
&gt;        リ(パスフレーズ入力UI)」を使おうとして Konsole と相性が悪いこ<br>
&gt;        とです。<br>
&gt;<br>
&gt;という答えでした。しかし示された解決法はいずれもFreeBSD13.5では使えない<br>
&gt;ものでした。konsole の他 xterm, xfce端末なども試してみましたが、いずれも<br>
&gt;パスフレーズを入力する画面が乱れ、「OK」を選択しても同じ乱れた画面が再度<br>
&gt;表示されて無限ループに陥ります。最後にたどり着いた方法は ctrl+atl+F2 で<br>
&gt;ttyv1画面に移り、そこで gpg -c .authinfo をやることです。これだと utf-8<br>
&gt;の文字はすべて字化けしますが、画面が無限ループに陥ることなく無事に<br>
&gt;.authinfo.gpg ができます。<br>
&gt;<br>
&gt;これで目出度く解決か、と思ったのですが、まだ問題がありました。smtpmailの<br>
&gt;設定を行った上でメールを作り C-c C-c でメールを送信しようとすると、今度<br>
&gt;は emacs は .authinfo.gpg の解読段階で躓いてエラーとなり、メールが送れま<br>
&gt;せん。しかしこれはもう一度 C-c C-c をやると送れます。おそらく gpg-agent<br>
&gt;が働いて二度目は パスフレーズの入力を求めないからだと推測しています。<br>
&gt;<br>
&gt;あまり綺麗な解決法ではないですが、ま、一応当初の目的は達成できたというと<br>
&gt;ころです。もう少しマシな解決法はないですかね。<br>
&gt;<br>
&gt;FreeBSD14.x ではどうなのでしょうか。<br>
&gt;<br>
&gt;--------<br>
&gt;丸山 直昌 まるやま なおまさ<br>
&gt;メールアドレス: <a href="mailto:masa@amogha.jp" target="_blank" rel="noreferrer">masa@amogha.jp</a><br>
<br>
</blockquote></div>
home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACEZLHrSaJtX0VXXJoDckfJrUfpvKBueZKC1p=CEOb43tbg20w>