「macOS Catalina 2月からAppleの公証が必要になる」とは何なの?

この方針はスムーズな移行のため、9月に一度緩和されていたが、来年2月3日から厳格に適用されるようになる。未公証の“野良アプリ”を「macOS Catalina」で実行しても、従来は警告で済んでいたが、それ以降はエラーで起動不能となるため、アプリに修正を施す必要がある。

👉 「macOS Catalina」で実行する野良アプリにはAppleによる公証が必要に ~来年2月から - 窓の杜 

どうやらこれのことらしい。

Update to Notarization Prerequisites
December 23, 2019

In June, we announced that all Mac software distributed outside the Mac App Store must be notarized by Apple in order to run by default on macOS Catalina. In September, we temporarily adjusted the notarization prerequisites to make this transition easier and to protect users on macOS Catalina who continue to use older versions of software. Starting February 3, 2020, all submitted software must meet the original notarization prerequisites.

If you haven’t yet done so, upload your software to the notary service and review the developer log for warnings. These warnings will become errors starting February 3 and must be fixed in order to have your software notarized. Software notarized before February 3 will continue to run by default on macOS Catalina.

As a reminder, all installer packages must be signed since they may contain executable code. Disk images do not need to be signed, although signing them can help your users verify their contents.

👉 Update to Notarization Prerequisites - News - Apple Developer 

Notarizing Your Mac Software for macOS Catalina
September 3, 2019

As a reminder, Mac software distributed outside the Mac App Store must be notarized by Apple in order to run on macOS Catalina. To make this transition easier and to protect users on macOS Catalina who continue to use older versions of software, we’ve adjusted the notarization prerequisites until January 2020.

You can now notarize Mac software that:

Doesn’t have the Hardened Runtime capability enabled.
Has components not signed with your Developer ID.
Doesn’t include a secure timestamp with your code-signing signature.
Was built with an older SDK.
Includes the com.apple.security.get-task-allow entitlement with the value set to any variation of true.
Make sure to submit all versions of your software. While Xcode 10 or later is still required to submit, you don’t need to rebuild or re-sign your software before submission.

👉 Notarizing Your Mac Software for macOS Catalina - News - Apple Developer 

何か勘違いしてる人多いけど、ダブルクリックで初回起動できなくなるだけでGatekeeperを無視して起動するオプションは今まで通り残るよ。macアプリ開発したことない人が書いた記事だなこれ…

👉 onimのコメント / はてなブックマーク 

こんな素人記事よりEngdgetの解説の方がよっぽど為になる

👉 takhasegawaのコメント / はてなブックマーク 

また、公証を受けていないアプリでも、Gatekeeperの例外として登録すれば、起動することは可能です。

👉 アップル、Mac App Store外アプリの「公証」要件を厳格化。2020年2月3日から - Engadget 日本版 

まとめ

『「公証」の審査基準の厳格化』ということだけで、以下 GateKeeper まわりの操作や挙動は2月以降も同様ということになりますでしょうか。

👉 Mac で App を安全に開く - Apple サポート 

公証を受けていないアプリの割合が増えることになるでしょうが、まあ大勢に影響はないということでしょうね。


そんな Camscanner の代替を探す

Googleが、人気のOCR機能付きPDF作成アプリ「CamScanner」にマルウェアが見つかったとして、これをGoogle Playストアから削除しました。CamScannerはこれまでに1億回以上もダウンロードされていました。

👉 Google Playでのダウンロード数が1億超のスキャナーアプリ「CamScanner」が悪意あるアプリに変貌 | カスペルスキー公式ブログ 

👉 見つかりませんでした 

Previously, a similar module was often found in preinstalled malware on Chinese-made smartphones. It can be assumed that the reason why this malware was added was the app developers’ partnership with an unscrupulous advertiser.

以前は、中国製のスマートフォンにプリインストールされたマルウェアで同様のモジュールがしばしば発見されました。 このマルウェアが追加された理由は、アプリ開発者と悪意のある広告主とのパートナーシップにあると考えられます。

👉 An advertising dropper in Google Play | Securelist 

CamScannerはウェブサイトでAdHubと呼ばれるサードパーティの広告SDKに悪意あるモジュールが含まれていたことを明らかにし、これを取り除いたバージョンを配布しています。しかし日本語のGoogle Playストアでは、記事執筆時点では2014年の古いバージョンが配布されています。

Google PlayStore で公開できていないようで、別の場所で apk を配布しています。

Dear CamScanner Android Users,

Our CamScanner Team has recently detected that the advertisement SDK provided by a third-party named AdHub, integrated in Android Version 5.11.7, has been reported for containing a malicious module that produces unauthorized advertising clicks.
Injection of any suspicious codes violates the CamScanner Security Policy! We will take immediate legal actions against Adhub! Fortunately, after rounds of security check, we have not found any evidence showing the module could cause any leak of document data.
We have removed all the ads SDKs not certified by Google Play and a new version would be released. Meanwhile, you may follow the steps HERE to update to the new version.
We would appreciate your patience and understanding.

CamScanner Androidユーザーの皆様、

CamScannerチームは最近、Androidバージョン5.11.7に統合されたAdHubというサードパーティが提供する広告SDKが、不正な広告クリックを生成する悪意のあるモジュールを含むと報告されたことを検出しました。
不審なコードを挿入すると、CamScannerセキュリティポリシーに違反します!Adhubに対して直ちに法的措置を講じます!幸いなことに、一連のセキュリティチェックの後、モジュールがドキュメントデータのリークを引き起こす可能性があることを示す証拠は見つかりませんでした。
Google Playで認定されていないすべての広告SDKを削除しました。新しいバージョンがリリースされます。その間、こちらの手順に従って新しいバージョンに更新することができます。
ご理解とご理解のほどよろしくお願いいたします。

👉 Detail 

1. Please tap HERE to upgrade with the latest Android version 5.12.5.

2. Since the apk is not from Google Play, you may receive system notices before downloading & installing the new version. It is okay to proceed further.

3. Maybe you are using the v5.12.5 updated from Google Play, then there is no action needed. You may check out your version in the CS app Settings -- Feedback -- About.
If you have any other problems, please feel free to contact us at asupport @ intsig.com. We will help you out ASAP.

1. ここをタップして、最新のAndroidバージョン5.12.5にアップグレードしてください。

2. apkはGoogle Playのものではないため、新しいバージョンをダウンロードしてインストールする前にシステム通知を受け取る場合があります。さらに先へ進んでも構いません。

3.たぶん、Google Playから更新されたv5.12.5を使用している場合、アクションは必要ありません。CSアプリの[設定]-[フィードバック]-[バージョン情報]でバージョンを確認できます。
他に問題がある場合は、asupport @ intsig.comまでお気軽にお問い合わせください。できるだけ早くお手伝いします。

downloadForGP-apk

👉 詳細 

きっと、その広告SDKが埋め込まれてない旧バーションは PlayStore にもあります。

👉 CamScanner HD - Scanner, Fax - Google Play のアプリ 

以下、代替アプリリンク集リンク。

👉 5 Free CamScanner Alternatives for Android 

👉 7 Alternatives to CamScanner | Product Hunt 

👉 10 Best CamScanner Alternatives for Android and iOS | Beebom 

思ったよりたくさんあったので驚きました。

代替はいくらでもあるのです!!


Let's Encrypt で 謎の「-0001」

以下のような nginx などWEBサーバでの鍵の位置指定。


ssl_certificate /etc/letsencrypt/live/android.benigumo.com/fullchain.pem
ssl_certificate_key /etc/letsencrypt/live/android.benigumo.com/privkey.pem

これが、ファイルの実体だと更新時にコケる。
シンボリックリンクでないとならない。

証明書を確認してみると分かる。


# certbot-auto certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Renewal configuration file /etc/letsencrypt/renewal/android.benigumo.com.conf produced an unexpected error: expected /etc/letsencrypt/live/android.benigumo.com/cert.pem to be a symlink. Skipping.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: android.benigumo.com-0001
    Domains: android.benigumo.com
    Expiry Date: 2019-07-19 02:41:22+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/android.benigumo.com-0001/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/android.benigumo.com-0001/privkey.pem

The following renewal configurations were invalid:
  /etc/letsencrypt/renewal/android.benigumo.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

期限の更新できたつもりが、
謎の「0001」な 証明書が追加発行されとる。


# ls -al /etc/letsencrypt/live/android.benigumo.com
drwxr-xr-x 2 ubuntu ubuntu 4096 Mar  1 00:01 .
drwx------ 4 ubuntu ubuntu 4096 Apr 20 12:33 ..
-rw-r--r-- 1 ubuntu ubuntu 2269 Mar  1 00:00 cert.pem
-rw-r--r-- 1 ubuntu ubuntu 1647 Mar  1 00:00 chain.pem
-rw-r--r-- 1 ubuntu ubuntu 3916 Mar  1 00:00 fullchain.pem
-rw-r--r-- 1 ubuntu ubuntu 3272 Mar  1 00:00 privkey.pem

サーバ移行のファイルコピー時に実体化されたっぽい。

シンボリックリンクにする。
複数ある場合は一番新しいものがリンク元となるのが正しい。


# cd  /etc/letsencrypt/live/android.benigumo.com/
# rm *
# ln -s ../../archive/android.benigumo.com/cert30.pem cert.pem
# ln -s ../../archive/android.benigumo.com/chain30.pem chain.pem
# ln -s ../../archive/android.benigumo.com/fullchain30.pem fullchain.pem
# ln -s ../../archive/android.benigumo.com/privkey30.pem privkey.pem

# ls -al
lrwxrwxrwx 1 root   root     45 Apr 21 08:19 cert.pem -> ../../archive/android.benigumo.com/cert30.pem
lrwxrwxrwx 1 root   root     46 Apr 21 08:19 chain.pem -> ../../archive/android.benigumo.com/chain30.pem
lrwxrwxrwx 1 root   root     50 Apr 21 08:19 fullchain.pem -> ../../archive/android.benigumo.com/fullchain30.pem
lrwxrwxrwx 1 root   root     48 Apr 21 08:19 privkey.pem -> ../../archive/android.benigumo.com/privkey30.pem

追加登録されている0001を削除して期限更新をかける。


# certbot-auto delete --cert-name android.benigumo.com-0001
# certbot-auto renew --dry-run
# certbot-auto renew


# certbot-auto certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: android.benigumo.com
    Domains: android.benigumo.com
    Expiry Date: 2019-07-19 22:19:07+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/android.benigumo.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/android.benigumo.com/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

よし。

Let's Encrypt で '-0001' がついた証明書データを削除する方法 | ラボラジアン

Let's Encrypt(certbot)でrenewしたら"expected /etc/letsencrypt/live/~/cert.pem" | KINの雑記帳