# AS4 Settlement Setup Guide **Date**: 2026-01-19 **Version**: 1.0.0 --- ## Prerequisites - Node.js 18+ - PostgreSQL 14+ - Redis 7+ (for nonce tracking) - Prisma CLI - Access to DBIS database --- ## Step 1: Database Migration Run the Prisma migration to create the AS4 settlement tables: ```bash cd dbis_core npx prisma generate npx prisma migrate deploy ``` Or for development: ```bash npx prisma migrate dev --name add_as4_settlement_models ``` --- ## Step 2: Environment Variables Add the following environment variables to your `.env` file: ```env # AS4 Gateway Configuration AS4_BASE_URL=https://as4.dbis.org AS4_GATEWAY_PORT=8443 # Certificate Configuration AS4_TLS_CERT_PATH=/path/to/tls/cert.pem AS4_TLS_KEY_PATH=/path/to/tls/key.pem AS4_SIGNING_CERT_PATH=/path/to/signing/cert.pem AS4_SIGNING_KEY_PATH=/path/to/signing/key.pem # HSM Configuration (if using HSM) HSM_ENABLED=true HSM_PROVIDER=softhsm HSM_SLOT=0 HSM_PIN=your-pin # Redis Configuration (for nonce tracking) REDIS_URL=redis://localhost:6379 AS4_NONCE_TTL=300 # 5 minutes in seconds # ChainID 138 Configuration CHAIN138_RPC_URL=http://192.168.11.250:8545 CHAIN138_ANCHOR_INTERVAL=3600 # 1 hour in seconds # Compliance Configuration SANCTIONS_SCREENING_ENABLED=true AML_CHECKS_ENABLED=true ``` --- ## Step 3: Seed Marketplace Offering Run the seed script to add the AS4 Settlement offering to the marketplace: ```bash npx ts-node scripts/seed-as4-settlement-marketplace-offering.ts ``` --- ## Step 4: Verify Routes The AS4 routes are automatically registered in `src/integration/api-gateway/app.ts`: - `/api/v1/as4/gateway/*` - AS4 Gateway endpoints - `/api/v1/as4/directory/*` - Member Directory endpoints - `/api/v1/as4/settlement/*` - Settlement endpoints --- ## Step 5: Certificate Setup ### For DBIS (Settlement Institution) 1. Generate TLS certificate: ```bash openssl req -x509 -newkey rsa:2048 -keyout as4-tls-key.pem -out as4-tls-cert.pem -days 365 -nodes ``` 2. Generate signing certificate: ```bash openssl req -x509 -newkey rsa:2048 -keyout as4-signing-key.pem -out as4-signing-cert.pem -days 365 -nodes ``` 3. Calculate fingerprints: ```bash openssl x509 -fingerprint -sha256 -noout -in as4-tls-cert.pem openssl x509 -fingerprint -sha256 -noout -in as4-signing-cert.pem ``` 4. Store certificates securely (HSM recommended for production) ### For Members Members will register their certificates via the Member Directory API during onboarding. --- ## Step 6: Testing ### Health Check ```bash curl http://localhost:3000/health ``` ### Register Test Member ```bash curl -X POST http://localhost:3000/api/v1/as4/directory/members \ -H "Content-Type: application/json" \ -d '{ "memberId": "TEST-MEMBER-001", "organizationName": "Test Bank", "as4EndpointUrl": "https://test-bank.example.com/as4", "tlsCertFingerprint": "AA:BB:CC:DD:EE:FF", "allowedMessageTypes": ["DBIS.SI.202", "DBIS.SI.202COV"] }' ``` ### Submit Test Instruction ```bash curl -X POST http://localhost:3000/api/v1/as4/settlement/instructions \ -H "Content-Type: application/json" \ -d '{ "fromMemberId": "TEST-MEMBER-001", "payloadHash": "abc123", "message": { "MessageId": "MSG-001", "BusinessType": "DBIS.SI.202", "CreatedAt": "2026-01-19T12:00:00Z", "FromMemberId": "TEST-MEMBER-001", "ToMemberId": "DBIS", "Instr": { "InstrId": "INSTR-001", "ValueDate": "2026-01-20", "Currency": "USD", "Amount": "1000.00", "DebtorAccount": "MSA:TEST-MEMBER-001:USD", "CreditorAccount": "MSA:TEST-MEMBER-002:USD" } } }' ``` --- ## Step 7: Production Deployment ### High Availability - Deploy multiple AS4 gateway instances behind a load balancer - Use shared Redis cluster for nonce tracking - Configure database replication ### Monitoring - Set up Prometheus metrics - Configure alerting for: - Certificate expiration warnings - Failed instruction rate - System availability - Message processing latency ### Security - Enable HSM for key management - Configure firewall rules - Set up DDoS protection - Enable audit logging --- ## Troubleshooting ### Database Connection Issues Check database connectivity: ```bash psql -h 192.168.11.105 -U dbis_user -d dbis_core -c "SELECT 1" ``` ### Certificate Issues Verify certificate format: ```bash openssl x509 -in cert.pem -text -noout ``` ### Redis Connection Issues Test Redis connectivity: ```bash redis-cli -h localhost -p 6379 ping ``` --- ## Support For issues or questions: - Documentation: `/docs/settlement/as4/` - Operational Runbooks: `/docs/settlement/as4/OPERATIONAL_RUNBOOKS.md` - Incident Response: `/docs/settlement/as4/INCIDENT_RESPONSE.md` --- **End of Setup Guide**