[mew-dist 27547] Re: GnuPG (was gpgsm)
ARIGA Seiji
ariga at example.com
2007年 1月 4日 (木) 16:42:55 JST
有賀です.
ちょっと試してみました.(が,x509 の話になってしまったので,何をどう
すべきなのかはよく分かりません)
On Thu, 28 Dec 2006 23:06:03 +0900 (JST),
Kazu Yamamoto (山本和彦) <kazu at example.com> wrote,
> 1) わきもとさんの Unsupported certificate は、手元で再現できました。
> gpgsm の問題だと思われます。
gpgpsm を手で実行したところ,
----
>gpgsm -v --verify mail.sig mail
gpgsm: detached signature
gpgsm: Signature made 2006-12-22 13:47:37 using certificate ID 64C04082
gpgsm: critical certificate extension 2.5.29.17 is not supported
gpgsm: invalid certification chain: Unsupported certificate
----
となりました.2.5.29.17 は SubjectAltName で,確かに証明書の中では
critical としてマークされてます.
----
>openssl pkcs7 -inform der -in mail.sig -text -print_certs | grep -A1 "X509v3 Subject Alternative Name:"
X509v3 Subject Alternative Name: critical
email:guide at example.com
----
# 'critical' となっているのが分かるかと思います.
一方 gpgsm は,
(sm/certchain.c)
----
static int
unknown_criticals (ksba_cert_t cert, int listmode, FILE *fp)
{
static const char *known[] = {
"2.5.29.15", /* keyUsage */
"2.5.29.19", /* basic Constraints */
"2.5.29.32", /* certificatePolicies */
"2.5.29.37", /* extendedKeyUsage - handled by certlist.c */
NULL
};
[...]
if (!known[i])
{
do_list (1, listmode, fp,
_("critical certificate extension %s is not supported"),
oid);
rc = gpg_error (GPG_ERR_UNSUPPORTED_CERT);
}
----
となっており,このリストにない OID が critical になっている場合は,
"Unsupported certificate" としています.
ただし,これは critical flag を扱う上で推奨されている方法のようなので
gpgsm の問題というわけではなさそうです.
というわけで,証明書の "Subject Alternative Name" が 'critical' になっ
ているのが問題のように思われます.RFC3647 にも,
----
3.3.1. Certificate Policies Extension
[...]
If the Certificate Policies field is flagged critical, it serves the
same purpose as described above but also has an additional role.
Specifically, it indicates that the use of the certificate is
restricted to one of the identified policies, i.e., the certification
authority is declaring that the certificate must only be used in
accordance with the provisions of at least one of the listed CPs.
----
ってありますし.(SubjectAltName は policy じゃないですよね)
// ARIGA Seiji
Mew-dist メーリングリストの案内