パスワードを忘れた? アカウント作成
10982433 journal
ソフトウェア

iidaの日記: openssl smime -sign 5

日記 by iida

S/MIME対応ソフトの評価をするはめになり、OpenSSLでこしらえたS/MIME署名付きメールを送りつけて、動作を見てみた。すると、オペーク署名 (一体型署名) はすんなり検証できるのだが、クリア署名 (分離署名) が検証できない

「もしや」と思い、バージョンを1.0.1gからどんどん下げていった。すると、0.9.6mのクリア署名では検証が通る。0.9.6系と、0.9.7系以降の署名付きメールを比べて見ると、被署名部分の改行コードが違っている。Unix系マシン (Solaris) で作業していて、0.9.6系はLFのままなのだが、0.9.7系以降ではCRLFになっていた。

「ならば」と、tr -d '\15'でざっくりCRを削除すると、しっかり署名が検証できるではないか。勘弁してくれ、OpenSSL!

この議論は、iida (8060)によって テキとトモのテキ禁止として作成されたが、今となっては 新たにコメントを付けることはできません。
  • 実験の詳細がわからないのですが、行末はCRLFで正規化してあるほうが正解なのかも?
    https://www.ipa.go.jp/security/rfc/RFC2311-03JA.html#name3_1 [ipa.go.jp]

    • Unixプラットホームなので、メッセージ全体の改行コードは基本的にLFです。そのうち被署名部分に限ってだけCRLFになっていて、そのままだとThunderbirdもOutlookも署名検証エラーですが、そのCRを消すと、ThunderbirdやOutlookで署名検証が通ります。CRを「^M」で書くとこんな感じ。

      From: bob@example.net
      To: alice@example.net
      Subject: S/MIME test 2-r.txt
      Date: Mon, 19 May 2014 17:57:38 +0900
      Message-ID: <20140519175738.6580.make@osienai.example.net>
      MIME-Version: 1.0
      Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha1"; boundary="----8F46B4C5077728BDFF2011E7970D1E7A"

      This is an S/MIME signed message

      ------8F46B4C5077728BDFF2011E7970D1E7A
      Content-Type: text/plain; charset=US-ASCII^M
      ^M
      Hello^M
      --^M
          iida^M

      ------8F46B4C5077728BDFF2011E7970D1E7A
      Content-Type: application/x-pkcs7-signature; name="smime.p7s"
      Content-Transfer-Encoding: base64
      Content-Disposition: attachment; filename="smime.p7s"

      MIIMHwYJKoZIhvcNAQcCoIIMEDCCDAwCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3
      DQEHAaCCCTAwggTYMIIDwKADAgECAgIQHzANBgkqhkiG9w0BAQUFADBVMQswCQYD
      VQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MSwwKgYDVQQLEyNTZWN1
      cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEgVGVzdDAeFw0wODA1MDIwOTE5NTNa
      Fw0xODA1MDIwOTE5NTNaMIGQMQswCQYDVQQGEwJKUDElMCMGA1UEChMcU0VDT00g
      VHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEpMCcGA1UECxMgU0VDT00gUGFzc3BvcnQg
      Zm9yIE1lbWJlcjIuMCBQVUIxLzAtBgNVBAMTJlNFQ09NIFBhc3Nwb3J0IGZvciBN
      ZW1iZXIgUFVCIENBMSBUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
      AQEAwDBH9gyImuyGADHNXwhQZDq+rsRcPR/fS+DIE19giTNBLDLR3Lg0ccOs+WNB
      xWSi9lR5TWjvdYyVgQtltkw1QsjML6o58ndryw1BF0Zdyp7Fe3koXJcyaZtUoJyi
      4ZmhnYAuHv9+eILN0s27O4WosAp/Zu3Raez20YhoGVmHOOEThL8jSINkcwfdnGb5
      3s3wIoMsRywomMbPBMO/aKzuAtnYNxM7VB+zFC7KTKo2l64qFKnqzlCWZ1MBCgFE
      4C0I1onOTMT4oYC0EAPOBdHtqr3kzz1cTQmQUo8Kh4+Gb3Xqi0A1ViV1zy+smKVw
      Gesvoyx5MlmUQv7ffRUjsJKusQIDAQABo4IBdDCCAXAwHQYDVR0OBBYEFGRUDUHr
      LmJqcPkF5mUdwksVHX+gMB8GA1UdIwQYMBaAFPxM8CAHalnE/zzSmhQt7ry0Jmnp
      MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMF0GA1UdHwRWMFQw
      UqBQoE6GTGh0dHA6Ly93d3cuc2Vjb210cnVzdC5uZXQvc2VydmljZS9uaW5zeW8v
      dGVzdC9zY3Jvb3QxL3JlcG9zaXRvcnkvZnVsbGNybC5jcmwwaQYDVR0gBGIwYDBe
      BgoqgwiMmxtkh2cBMFAwTgYIKwYBBQUHAgEWQmh0dHBzOi8vd3d3LnNlY29tdHJ1
      c3QubmV0L3NlcnZpY2Uvbmluc3lvL3Rlc3Qvc2Nyb290MS9yZXBvc2l0b3J5LzBA
      BggrBgEFBQcBAQQ0MDIwMAYIKwYBBQUHMAGGJGh0dHA6Ly9zY3Jvb3RjYTEub2Nz
      cC5zZWNvbXRydXN0Lm5ldDANBgkqhkiG9w0BAQUFAAOCAQEAAjwNf1WfZi3sjRzD
      B6+vvaVTIWrlIJoSrkJIwCXAoh1ccE2iPjgAg4to9IoG02/dlatOgPTba4eGyaEx
      vKsIgCtAg3K3MAXrt3HVDNeZSmEoL8uGaP/tkeXrvbK9RWci/owKGcSgXDHUu5aF
      cKKfRr+YoKc4BdG1/4+NDcQ5TjjOveddnISRoqpnvWakeR1TAnh3PcEgrM41mIsX
      1YLbVGf2UKVB0Js7qu0/iVZ6FMw/sTU2JETXHVbvnUky7lAYNdg9qj4HYOcxOpaB
      88fQxnWYM0NhjzaZwbCO17R5rAZyYEJE/K0w9joTNO+pUe6cAl9DY6AxW76BD0FO
      4N5DuzCCBFAwggM4oAMCAQICCQjFeSYBcpZbGTANBgkqhkiG9w0BAQUFADCBkDEL
      MAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExU
      RC4xKTAnBgNVBAsTIFNFQ09NIFBhc3Nwb3J0IGZvciBNZW1iZXIyLjAgUFVCMS8w
      LQYDVQQDEyZTRUNPTSBQYXNzcG9ydCBmb3IgTWVtYmVyIFBVQiBDQTEgVGVzdDAe
      Fw0xNDA1MTQwNzUyNDJaFw0xNDA1MjEwNzUyNDJaMFMxCzAJBgNVBAYTAkpQMQsw
      CQYDVQQIDAJzdDEKMAgGA1UEBwwBbDEKMAgGA1UECgwBbzELMAkGA1UECwwCb3Ux
      EjAQBgNVBAMMCWJvYiBLbnVyZDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
      ggEBALAuom9SzRX0P605jWii6husB4WL6LJHYUp493cCQWJEuiOBbxCbCfnGxcDR
      h/TOV8QWpUf/qnjkgHLBx+uya/9qTJe3emsA3ucdhcREnsDXCDr/d280xdQN0sKu
      s2JRkFRzl71dnHKMRZkdybMb74FiaoURjRGD02uQc7ASyZYi+jguh3yM1dbIzTv+
      Q1BFC7aDDaVs6YCwF1EaTe3Z837f9knyZnIp47F8edcHpKa6bUfeL4oORdFbqDEQ
      hHqOndvtiKNAKq5i2sqaUffnTmGRPKcY8f1f8riyPUJWhDlIHxh5iooeSdpdjCYH
      6Ei7SH/qTKZ+pMHvzcrqoLflohUCAwEAAaOB6DCB5TAOBgNVHQ8BAf8EBAMCBsAw
      EwYDVR0lBAwwCgYIKwYBBQUHAwQwHwYDVR0jBBgwFoAUZFQNQesuYmpw+QXmZR3C
      SxUdf6AwHQYDVR0OBBYEFOdTXVhFbUO1HwJ5a1cOHo2LzxCGMEkGA1UdHwRCMEAw
      PqA8oDqGOGh0dHA6Ly9kb3JhZW1vbi5zZWNvbXRydXN0Lm5ldC9wcm9qcy93ZWJw
      L35jYS9wdWJDQTEuY3JsMBcGA1UdIAQQMA4wDAYKKoMIjJsbZIdnATAaBgNVHREE
      EzARgQ9ib2JAZXhhbXBsZS5uZXQwDQYJKoZIhvcNAQEFBQADggEBAAy2QXZ0rnbu
      TURtDFQyN3dAwGtN51HxR
      --
      iida
      親コメント
typodupeerror

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

読み込み中...