a2a-did 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,27 +5,17 @@
5
5
  [![npm version](https://img.shields.io/npm/v/a2a-did.svg)](https://www.npmjs.com/package/a2a-did)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
7
 
8
- ## Implementation Notes
9
-
10
- **This is an experimental v0.1.0 release** focused on basic functionality.
11
-
12
- For production use, consider implementing additional security measures appropriate to your use case:
13
- - **Key Management**: This library generates keys in memory. Consider integrating with KMS/HSM based on your security requirements.
14
- - **DID Resolution**: Implement domain allowlisting if your deployment requires SSRF protection.
15
- - **Message Replay**: Add timestamps/nonces to messages in your application logic.
16
-
17
- See [SECURITY.md](./SECURITY.md) for detailed security considerations.
18
-
19
- ---
20
-
21
8
  **a2a-did** provides decentralized identity (DID) authentication for the A2A Protocol, enabling cryptographically verifiable agent-to-agent communication without centralized registries.
22
9
 
10
+ > ⚠️ **Experimental Release**: This is v0.1.x with a focus on core functionality. See [SECURITY.md](./SECURITY.md) for production deployment considerations.
11
+
23
12
  ## Features
24
13
 
25
14
  - ✅ **DID Identity Management** - Create and resolve DIDs (did:web, did:ethr)
26
15
  - ✅ **Message Signing** - Sign A2A messages with DID private keys (ES256K/JWS)
27
16
  - ✅ **Signature Verification** - Verify message authenticity with DID public keys
28
17
  - ✅ **Zero Pre-registration** - No central registry required
18
+ - ✅ **A2A SDK Compatible** - Works with `@a2a-js/sdk` official middleware (`express.json()`)
29
19
 
30
20
  ## Installation
31
21
 
@@ -56,59 +46,39 @@ console.log(identity.did);
56
46
  // → did:web:example.com%3A443:agents:my-agent
57
47
  ```
58
48
 
59
- ### 2. Sign A2A Messages
49
+ ### 2. Send Messages (Client)
60
50
 
61
51
  ```typescript
62
- import { signA2AMessage } from 'a2a-did';
63
-
64
- // A2A Protocol message
65
- const message = {
66
- jsonrpc: '2.0',
67
- method: 'message/send',
68
- params: {
69
- message: {
70
- kind: 'message',
71
- messageId: 'msg-123',
72
- role: 'user',
73
- parts: [{ kind: 'text', text: 'Hello' }]
74
- }
75
- },
76
- id: 1
77
- };
78
-
79
- // Sign with DID
80
- const signature = await signA2AMessage(message, identity);
81
-
82
- // Send signed request
83
- const signedRequest = { ...message, signature };
84
- await fetch('https://agent.example.com/a2a', {
85
- method: 'POST',
86
- body: JSON.stringify(signedRequest)
52
+ import { ClientFactory } from '@a2a-js/sdk/client';
53
+
54
+ // Use A2A SDK official client
55
+ const factory = new ClientFactory();
56
+ const client = await factory.createFromUrl('https://agent.example.com');
57
+
58
+ const result = await client.sendMessage({
59
+ message: {
60
+ kind: 'message',
61
+ messageId: 'msg-123',
62
+ role: 'user',
63
+ parts: [{ kind: 'text', text: 'Hello' }]
64
+ }
87
65
  });
88
66
  ```
89
67
 
90
- ### 3. Verify Signatures
68
+ ### 3. Verify Signatures (Server)
91
69
 
92
70
  ```typescript
71
+ import { jsonRpcHandler } from '@a2a-js/sdk/server/express';
93
72
  import { verifySignedA2ARequest } from 'a2a-did';
94
73
 
95
- app.post('/a2a', async (req, res) => {
96
- if (req.body.signature) {
97
- const result = await verifySignedA2ARequest(req.body);
74
+ // Use A2A SDK official server middleware
75
+ app.use('/a2a', jsonRpcHandler({
76
+ requestHandler,
77
+ userBuilder
78
+ }));
98
79
 
99
- if (!result.valid) {
100
- return res.json({
101
- jsonrpc: '2.0',
102
- error: { code: -32600, message: 'Invalid signature' },
103
- id: req.body.id
104
- });
105
- }
106
-
107
- console.log(`Authenticated: ${result.senderDid}`);
108
- }
109
-
110
- // Process message...
111
- });
80
+ // Optional: For signature verification, add middleware before jsonRpcHandler
81
+ // that uses verifySignedA2ARequest() - see API Reference below
112
82
  ```
113
83
 
114
84
  ## API Reference
@@ -162,13 +132,21 @@ resolveA2AEndpoint(did: string): Promise<string>
162
132
  - **Setup**: Requires RPC endpoint
163
133
  - **Use case**: Dynamic agents, cross-domain
164
134
 
165
- ## Security Notes
135
+ ## Security Considerations
166
136
 
167
137
  ⚠️ **Important**: This library provides authentication (identity verification) only. You must implement:
168
138
 
169
139
  - **Replay protection**: Add `iat`/`exp`/`jti` to prevent message replay
170
140
  - **Authorization**: Access control policies for your agents
171
141
  - **Rate limiting**: Protection against DoS attacks
142
+ - **Key Management**: Keys are generated in memory. Consider KMS/HSM for production
143
+ - **DID Resolution**: Implement domain allowlisting if SSRF protection is required
144
+
145
+ See [SECURITY.md](./SECURITY.md) for detailed security considerations.
146
+
147
+ ## Usage Notes
148
+
149
+ **Message Signatures**: The A2A Protocol specification does not yet include standardized message signatures. This library provides optional signature verification for server implementations. Client-side signing is not currently demonstrated in examples, as the `@a2a-js/sdk` client does not include signature extension fields in its standard API. Server implementations can add signature verification middleware as needed (see Quick Start section 3).
172
150
 
173
151
  ## License
174
152
 
@@ -6,19 +6,6 @@ import type { DIDIdentity } from '../did/types.js';
6
6
  * @param payload - The message or request to sign (any A2A JSON-RPC message)
7
7
  * @param signer - The sender's DID identity (contains private key)
8
8
  * @returns The JWS signature (compact format)
9
- *
10
- * @example
11
- * ```typescript
12
- * const identity = await createIdentity(...);
13
- * const message = {
14
- * jsonrpc: '2.0',
15
- * method: 'message/send',
16
- * params: { ... },
17
- * id: 1
18
- * };
19
- * const signature = await signA2AMessage(message, identity);
20
- * const signedRequest = { ...message, signature };
21
- * ```
22
9
  */
23
10
  export declare function signA2AMessage(payload: Record<string, unknown>, signer: DIDIdentity): Promise<string>;
24
11
  //# sourceMappingURL=signing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signing.d.ts","sourceRoot":"","sources":["../../src/a2a/signing.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,CAMjB"}
1
+ {"version":3,"file":"signing.d.ts","sourceRoot":"","sources":["../../src/a2a/signing.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,CAAC,CAMjB"}
@@ -11,19 +11,6 @@ import { createJWS } from 'did-jwt';
11
11
  * @param payload - The message or request to sign (any A2A JSON-RPC message)
12
12
  * @param signer - The sender's DID identity (contains private key)
13
13
  * @returns The JWS signature (compact format)
14
- *
15
- * @example
16
- * ```typescript
17
- * const identity = await createIdentity(...);
18
- * const message = {
19
- * jsonrpc: '2.0',
20
- * method: 'message/send',
21
- * params: { ... },
22
- * id: 1
23
- * };
24
- * const signature = await signA2AMessage(message, identity);
25
- * const signedRequest = { ...message, signature };
26
- * ```
27
14
  */
28
15
  export async function signA2AMessage(payload, signer) {
29
16
  return createJWS(payload, signer.signer, { alg: 'ES256K', kid: signer.keyId });
@@ -1 +1 @@
1
- {"version":3,"file":"signing.js","sourceRoot":"","sources":["../../src/a2a/signing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAgC,EAChC,MAAmB;IAEnB,OAAO,SAAS,CACd,OAAO,EACP,MAAM,CAAC,MAAM,EACb,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,CACrC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"signing.js","sourceRoot":"","sources":["../../src/a2a/signing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAgC,EAChC,MAAmB;IAEnB,OAAO,SAAS,CACd,OAAO,EACP,MAAM,CAAC,MAAM,EACb,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,CACrC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../src/a2a/verification.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,2BAA2B,CAAC,CAyDtC;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,kCAAkC,CAAC,CA8D7C;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GACtD,OAAO,CAAC,kCAAkC,CAAC,CA4B7C"}
1
+ {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../src/a2a/verification.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,2BAA2B,CAAC,CAyDtC;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,kCAAkC,CAAC,CA8D7C;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GACtD,OAAO,CAAC,kCAAkC,CAAC,CAoC7C"}
@@ -132,13 +132,20 @@ export async function verifySignedA2ARequest(request) {
132
132
  return { valid: false, error: 'No signature in request' };
133
133
  }
134
134
  try {
135
- // 1. Verify the JWS signature
135
+ // 1. Validate JWS Compact Format (RFC 7515: header.payload.signature)
136
+ const parts = request.signature.split('.');
137
+ if (parts.length !== 3 || !parts[0] || !parts[1] || !parts[2]) {
138
+ return {
139
+ valid: false,
140
+ error: 'Invalid JWS format: expected 3 non-empty parts (header.payload.signature)'
141
+ };
142
+ }
143
+ // 2. Verify the JWS signature
136
144
  const signatureResult = await verifyA2AMessageSignature(request.signature);
137
145
  if (!signatureResult.valid) {
138
146
  return signatureResult;
139
147
  }
140
- // 2. Verify payload integrity (JWS payload matches request body)
141
- const parts = request.signature.split('.');
148
+ // 3. Verify payload integrity (JWS payload matches request body)
142
149
  const payload = decodeBase64UrlJson(parts[1]);
143
150
  const { signature: _sig, ...requestWithoutSig } = request;
144
151
  if (!jsonEquals(payload, requestWithoutSig)) {
@@ -1 +1 @@
1
- {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/a2a/verification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/a2a/verification.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "a2a-did",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "DID-based authentication for A2A Protocol - Sign and verify agent messages with did:web and did:ethr",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",