Signed Posts

설명

Signed Posts allows authors to sign posts, assuring content integrity. Signature verification proves post-signing alteration hasn’t occurred.

Features:

  • In-browser verification: The signature verification is done on the client side (in the visitor’s browser).
  • Methods: OpenPGP (ASCII-armored detached signature) and DID (did:key, did:web) using Ed25519 detached JWS (b64=false).
  • Source of trust: For OpenPGP, the author specifies the URL of their public key in their profile. For DID, the author sets their DID (did:key or did:web). For did:web, the plugin fetches https://<host>/.well-known/did.json.
  • Status block: An informative block is automatically added to the end of each signed article, showing the verification status (valid, invalid, or error).
  • Author badge: The author name in posts is enhanced with an icon and KeyID/fingerprint text.

Source Code and Libraries

OpenPGP.js
* Version: 6.2.2
* License: LGPL-3.0-or-later
* Public Source Code: https://github.com/openpgpjs/openpgpjs

Web Crypto API
* Used to verify Ed25519 signatures for DID.

설치

  1. Go to Plugins > Add New Plugin.
  2. Search for Signed Posts.
  3. Install and activate the Signed Posts plugin.

FAQ

How do I get the content of my post to sign it?

Once you’ve finished your post, click the three dots in the top-right corner of the Gutenberg editor. When the options menu opens, select “Copy all blocks.” That is the content you should sign.

Where can I host my OpenPGP public key?

You can host it on any service that offers direct links and allows CORS (Cross-Origin Resource Sharing) access.

What happens if the signature isn’t valid?

The plugin will display a warning message indicating that the signature doesn’t match the content or the public key, which can be a sign of content tampering.

Does the plugin affect my site’s performance?

The impact on the server is minimal, as the verification is performed entirely in the visitor’s browser. The only additional resource is the download of the public key, which is usually very small.

What format should I use to sign with DID?

Use Compact JWS (detached) with {"alg":"EdDSA","b64":false,"crit":["b64"],"kid":"<your did#key>"} and sign the canonicalized post content (same text you would sign with OpenPGP).

Where do I set my DID?

In your User Profile, in the “Decentralized Identifiers (DID)” field. For did:web, ensure your did.json is hosted at https://<host>/.well-known/did.json.

후기

이 플러그인에 대한 평가가 없습니다.

기여자 & 개발자

“Signed Posts”(은)는 오픈 소스 소프트웨어입니다. 다음의 사람들이 이 플러그인에 기여하였습니다.

기여자

“Signed Posts”(이)가 2 개 언어로 번역되었습니다. 기여해 주셔서 번역자님께 감사드립니다.

자국어로 “Signed Posts”(을)를 번역하세요.

개발에 관심이 있으십니까?

코드 탐색하기는, SVN 저장소를 확인하시거나, 개발 기록RSS로 구독하세요.

변경이력

[0.4] – 2025-10-08

  • DID support added: did:key and did:web with Ed25519 JWS (detached).
  • Method selector per post.
  • DID field in user profile.
  • Uninstall options extended to remove DID and method meta.
  • Maintains full backward compatibility with OpenPGP flow.

[0.3] – 2025-10-03

  • Author badge with icon and fingerprint text linked to the verification result.
  • OpenPGP updated to 6.2.2.
  • Some corrections.

[0.1] – 2025-09-23

  • First version.