|
| 1 | +<!DOCTYPE html> |
| 2 | +<html lang="en"> |
| 3 | +<head> |
| 4 | + <meta charset="UTF-8"> |
| 5 | + <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 6 | + <title>Troubleshooting — Berlin Group AIS v1.3</title> |
| 7 | + <style> |
| 8 | + * { box-sizing: border-box; margin: 0; padding: 0; } |
| 9 | + |
| 10 | + body { |
| 11 | + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; |
| 12 | + background: #0f1923; |
| 13 | + color: #e2e8f0; |
| 14 | + min-height: 100vh; |
| 15 | + padding: 28px 20px; |
| 16 | + line-height: 1.65; |
| 17 | + } |
| 18 | + |
| 19 | + .container { max-width: 860px; margin: 0 auto; } |
| 20 | + |
| 21 | + /* ── Header ── */ |
| 22 | + .page-header { |
| 23 | + padding-bottom: 20px; |
| 24 | + border-bottom: 1px solid #2d4060; |
| 25 | + margin-bottom: 36px; |
| 26 | + } |
| 27 | + .page-header h1 { font-size: 22px; font-weight: 700; } |
| 28 | + .page-header p { font-size: 13px; color: #6b829e; margin-top: 5px; } |
| 29 | + .tag { |
| 30 | + display: inline-block; |
| 31 | + background: #1e3a5f; color: #4d9ef7; |
| 32 | + font-size: 10px; font-weight: 700; letter-spacing: .5px; |
| 33 | + padding: 2px 7px; border-radius: 4px; margin-right: 6px; |
| 34 | + } |
| 35 | + |
| 36 | + /* ── Sections ── */ |
| 37 | + section { |
| 38 | + background: #1a2535; |
| 39 | + border: 1px solid #2d4060; |
| 40 | + border-radius: 10px; |
| 41 | + padding: 24px 28px; |
| 42 | + margin-bottom: 24px; |
| 43 | + } |
| 44 | + |
| 45 | + h2 { |
| 46 | + font-size: 15px; font-weight: 700; |
| 47 | + text-transform: uppercase; letter-spacing: .8px; |
| 48 | + color: #6b829e; |
| 49 | + margin-bottom: 18px; |
| 50 | + padding-bottom: 10px; |
| 51 | + border-bottom: 1px solid #2d4060; |
| 52 | + } |
| 53 | + |
| 54 | + p { font-size: 14px; margin-bottom: 12px; color: #c8d8e8; } |
| 55 | + p:last-child { margin-bottom: 0; } |
| 56 | + |
| 57 | + /* ── Tables ── */ |
| 58 | + table { |
| 59 | + width: 100%; |
| 60 | + border-collapse: collapse; |
| 61 | + font-size: 13px; |
| 62 | + margin: 14px 0; |
| 63 | + } |
| 64 | + th { |
| 65 | + background: #0f1923; |
| 66 | + color: #6b829e; |
| 67 | + font-size: 11px; font-weight: 700; |
| 68 | + text-transform: uppercase; letter-spacing: .5px; |
| 69 | + padding: 8px 12px; |
| 70 | + text-align: left; |
| 71 | + border-bottom: 1px solid #2d4060; |
| 72 | + } |
| 73 | + td { |
| 74 | + padding: 8px 12px; |
| 75 | + border-bottom: 1px solid #1e2e42; |
| 76 | + color: #c8d8e8; |
| 77 | + vertical-align: top; |
| 78 | + } |
| 79 | + tr:last-child td { border-bottom: none; } |
| 80 | + tr:hover td { background: #1e2e42; } |
| 81 | + |
| 82 | + p code, li code, td code { |
| 83 | + background: #1e3a5f; |
| 84 | + color: #4d9ef7; |
| 85 | + padding: 1px 5px; |
| 86 | + border-radius: 4px; |
| 87 | + font-size: 12px; |
| 88 | + } |
| 89 | + |
| 90 | + ::-webkit-scrollbar { width: 5px; height: 5px; } |
| 91 | + ::-webkit-scrollbar-track { background: #1a2535; } |
| 92 | + ::-webkit-scrollbar-thumb { background: #2d4060; border-radius: 3px; } |
| 93 | + </style> |
| 94 | +</head> |
| 95 | +<body> |
| 96 | +<div class="container"> |
| 97 | + |
| 98 | + <div class="page-header"> |
| 99 | + <h1>Troubleshooting</h1> |
| 100 | + <p><span class="tag">Berlin Group</span><span class="tag">AIS v1.3</span> |
| 101 | + Common errors, their causes, and fixes</p> |
| 102 | + </div> |
| 103 | + |
| 104 | + <section id="errors"> |
| 105 | + <h2>Error Reference</h2> |
| 106 | + <table> |
| 107 | + <tr><th>Error</th><th>Cause</th><th>Fix</th></tr> |
| 108 | + <tr><td><code>OBP-20310</code> — public key cannot verify</td><td>RSA signature check failed</td><td>Key pair mismatch; regenerate or reload matching key + cert</td></tr> |
| 109 | + <tr><td><code>OBP-20312</code> — public key cannot be validated</td><td>PKIX chain validation failed</td><td>Use SANDBOX bypass or configure truststore (PRODUCTION)</td></tr> |
| 110 | + <tr><td><code>OBP-20254</code> — invalid Signature header</td><td>Missing <code>SN</code>, <code>CA</code>, or <code>O</code> in keyId</td><td>Cert must have O= and CN= in issuer; reload cert to re-trigger auto-fill</td></tr> |
| 111 | + <tr><td><code>OBP-34102</code> — regulated entity not found</td><td>No entity with matching serial + CA name</td><td>Check SN is decimal and CA name matches issuer CN</td></tr> |
| 112 | + <tr><td><code>OBP-34103</code> — more than one regulated entity</td><td>Two entities share the same serial + CA</td><td>Serial + CA pair must be unique; delete the duplicate</td></tr> |
| 113 | + <tr><td><code>FORMAT_ERROR</code> — missing mandatory CN field</td><td>keyId has no O= component</td><td>Regenerate keys (cert now includes O RDN)</td></tr> |
| 114 | + <tr><td><code>OBP-35015</code> — consent does not match consumer</td><td><code>TPP-Signature-Certificate</code> differs from stored cert</td><td>Cert was renewed; update Consumer's <code>clientCertificate</code> or re-create consent</td></tr> |
| 115 | + <tr><td><code>OBP-35016</code> — Consumer-Key header missing</td><td><code>consumer_validation_method_for_consent=CONSUMER_KEY_VALUE</code></td><td>Switch to <code>TPP_SIGNATURE_CERTIFICATE</code></td></tr> |
| 116 | + </table> |
| 117 | + </section> |
| 118 | + |
| 119 | +</div> |
| 120 | +</body> |
| 121 | +</html> |
0 commit comments