Skip to content

Commit 8fa704f

Browse files
zeevmoneyclaude
andcommitted
Add detailed GPG key generation instructions to PUBLISHING.md
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 7126c2f commit 8fa704f

1 file changed

Lines changed: 32 additions & 3 deletions

File tree

PUBLISHING.md

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,45 @@ The SDK is published to two repositories:
1919

2020
### GPG Signing Key
2121

22-
Maven Central requires all artifacts to be signed with GPG:
22+
Maven Central requires all artifacts to be signed with GPG.
23+
24+
#### Generate a new key (if you don't have one)
2325

2426
```bash
25-
# Generate a key (if you don't have one)
2627
gpg --full-generate-key
28+
```
29+
30+
When prompted:
31+
1. **Key type**: Select `1` (RSA and RSA)
32+
2. **Key size**: Enter `4096`
33+
3. **Expiration**: Enter `0` (doesn't expire) or set a reasonable expiration
34+
4. **Name and email**: Use the same email as your Maven Central account
35+
5. **Passphrase**: Set a strong passphrase (this is your `signingInMemoryKeyPassword`)
36+
37+
#### List your keys
38+
39+
```bash
40+
gpg --list-secret-keys --keyid-format LONG
41+
```
42+
43+
#### Export the private key
2744

28-
# Export the private key (base64 encoded for CI)
45+
For local use:
46+
```bash
47+
gpg --armor --export-secret-keys YOUR_KEY_ID > key.asc
48+
```
49+
50+
For CI/CD (base64 encoded):
51+
```bash
2952
gpg --armor --export-secret-keys YOUR_KEY_ID | base64
3053
```
3154

55+
#### Publish your public key (required for Maven Central verification)
56+
57+
```bash
58+
gpg --keyserver keyserver.ubuntu.com --send-keys YOUR_KEY_ID
59+
```
60+
3261
## GitHub Secrets
3362

3463
Configure these secrets in your GitHub repository:

0 commit comments

Comments
 (0)