fix(ipsec): показывать все привязки общего сертификата
This commit is contained in:
1 parent
60b2e099f0
commit
58f5c48a97
17 files changed
+1213
-56
No files matched your search
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"date": "2026-10-10",
|
||||
"runtime": {
|
||||
"backend": "ux-refs114",
|
||||
"frontend": "ux-alias112-version"
|
||||
},
|
||||
"httpMocks": false,
|
||||
"cases": [
|
||||
{
|
||||
"theme": "dark",
|
||||
"width": 1280,
|
||||
"rootThemeConfirmed": true,
|
||||
"versionConfirmed": true,
|
||||
"unconnectedCertificateOffline": true,
|
||||
"ambiguousClientsUnknown": true,
|
||||
"unknownOnlineCount": true,
|
||||
"reloadConfirmed": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"theme": "dark",
|
||||
"width": 320,
|
||||
"rootThemeConfirmed": true,
|
||||
"versionConfirmed": false,
|
||||
"unconnectedCertificateOffline": true,
|
||||
"ambiguousClientsUnknown": true,
|
||||
"unknownOnlineCount": true,
|
||||
"reloadConfirmed": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"theme": "light",
|
||||
"width": 1280,
|
||||
"rootThemeConfirmed": true,
|
||||
"versionConfirmed": true,
|
||||
"unconnectedCertificateOffline": true,
|
||||
"ambiguousClientsUnknown": true,
|
||||
"unknownOnlineCount": true,
|
||||
"reloadConfirmed": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"theme": "light",
|
||||
"width": 320,
|
||||
"rootThemeConfirmed": true,
|
||||
"versionConfirmed": false,
|
||||
"unconnectedCertificateOffline": true,
|
||||
"ambiguousClientsUnknown": true,
|
||||
"unknownOnlineCount": true,
|
||||
"reloadConfirmed": true,
|
||||
"noPageOverflow": true
|
||||
}
|
||||
],
|
||||
"pageErrors": [],
|
||||
"applicationWrites": [],
|
||||
"scope": "Real certificate multiple identity ambiguity, unknown row statuses and online count, reload, desktop/mobile, two themes"
|
||||
}
|
||||
@@ -0,0 +1,944 @@
|
||||
{
|
||||
"date": "2026-10-10",
|
||||
"block": "12.5.114",
|
||||
"local": {
|
||||
"stateChecks": 114,
|
||||
"profileScripts": 8,
|
||||
"backendBuildPassed": true,
|
||||
"eslintPassed": true,
|
||||
"e2eUnique": 18,
|
||||
"e2eSeconds": 35.9
|
||||
},
|
||||
"deployment": {
|
||||
"date": "2026-10-10",
|
||||
"baseCommit": "60b2e09",
|
||||
"baseContext": "build-sessions113",
|
||||
"context": "build-refs114",
|
||||
"overrides": {
|
||||
"backend/src/services/ipsec-live.ts": "4e1434d2146f363ff6866bb1b7b060dd1e9e1d0165eae8ec56de750cf11137d0",
|
||||
"backend/src/routes/ipsec.ts": "548e282c1060b649a85d8378e305d333203591b4b3de72825e8337077fa02da3"
|
||||
},
|
||||
"containers": {
|
||||
"backend": {
|
||||
"imageTag": "mmapp-test/backend:ux-refs114",
|
||||
"imageId": "sha256:df345a34f4e178b8a15fe5c537173f33a79eb15681a5e62b76a4aa7dab0017a6",
|
||||
"state": "running",
|
||||
"health": "healthy"
|
||||
},
|
||||
"frontend": {
|
||||
"imageTag": "mmapp-test/frontend:ux-alias112-version",
|
||||
"imageId": "sha256:4bf4cad8b3c990a7259f84cf27fd6bb9ee34e3db904223b559c0559dbbe094a2",
|
||||
"state": "running",
|
||||
"health": null
|
||||
},
|
||||
"postgres": {
|
||||
"imageTag": "postgres:18-alpine",
|
||||
"imageId": "sha256:77f585114c32fbca283dc835b0596f4e52b51b4c6662d7810b2f4084f60a1873",
|
||||
"state": "running",
|
||||
"health": "healthy"
|
||||
}
|
||||
},
|
||||
"compiled": {
|
||||
"backend/dist/services/ipsec-live.js": "cb6aa07a39c4be990224c1e30741d9431c64b7ff662f6ccd9843827b4b5415c4",
|
||||
"backend/dist/routes/ipsec.js": "fd6d44c755d2598ab718b0925f4cc852e9fc91efc483838d0507e7202ab87b2d"
|
||||
}
|
||||
},
|
||||
"sourceByteHashesMatch": true,
|
||||
"compiledByteHashesMatch": true,
|
||||
"before": {
|
||||
"date": "2026-10-10",
|
||||
"block": "12.5.114",
|
||||
"name": "mm-ipsec114-1791640092983",
|
||||
"cn": "mm-ipsec114-1791640092983",
|
||||
"observations": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"active": [
|
||||
{
|
||||
".id": "*1",
|
||||
"id": "CN=mm-ipsec114-1791640092983",
|
||||
"state": "established",
|
||||
"dynamic-address": "198.18.114.250",
|
||||
"remote-address": "104.165.244.7",
|
||||
"uptime": "1s"
|
||||
}
|
||||
],
|
||||
"catalog": [
|
||||
{
|
||||
"name": "CN=mm-ipsec114-1791640092983",
|
||||
"commonName": "CN=mm-ipsec114-1791640092983",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640092983-decoy",
|
||||
"online": false
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640092983",
|
||||
"commonName": "mm-ipsec114-1791640092983",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640092983",
|
||||
"online": true,
|
||||
"activeAddress": "198.18.114.250"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"active": [
|
||||
{
|
||||
".id": "*1",
|
||||
"id": "194.226.121.150",
|
||||
"state": "established",
|
||||
"remote-address": "194.226.121.150",
|
||||
"uptime": "1s"
|
||||
}
|
||||
],
|
||||
"catalog": []
|
||||
}
|
||||
],
|
||||
"cleanup": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"/system/logging": true,
|
||||
"/ip/ipsec/identity": true,
|
||||
"/ip/ipsec/peer": true,
|
||||
"/ip/ipsec/policy": true,
|
||||
"/ip/ipsec/policy/group": true,
|
||||
"/ip/ipsec/mode-config": true,
|
||||
"/ip/ipsec/proposal": true,
|
||||
"/ip/ipsec/profile": true,
|
||||
"/certificate": true,
|
||||
"/file": true,
|
||||
"/ip/address": true,
|
||||
"/ip/route": true,
|
||||
"/ip/firewall/nat": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"/system/logging": true,
|
||||
"/ip/ipsec/identity": true,
|
||||
"/ip/ipsec/peer": true,
|
||||
"/ip/ipsec/policy": true,
|
||||
"/ip/ipsec/policy/group": true,
|
||||
"/ip/ipsec/mode-config": true,
|
||||
"/ip/ipsec/proposal": true,
|
||||
"/ip/ipsec/profile": true,
|
||||
"/certificate": true,
|
||||
"/file": true,
|
||||
"/ip/address": true,
|
||||
"/ip/route": true,
|
||||
"/ip/firewall/nat": true
|
||||
}
|
||||
],
|
||||
"databaseWrites": false,
|
||||
"certificate": {
|
||||
"name": "ipsec-user-mm-ipsec114-1791640092983",
|
||||
"common-name": "mm-ipsec114-1791640092983",
|
||||
"ca": "mm-ipsec114-1791640092983-ca",
|
||||
"key-usage": "digital-signature,key-encipherment,tls-client"
|
||||
},
|
||||
"certificates": [
|
||||
[
|
||||
{
|
||||
"name": "mm-ipsec114-1791640092983-ca",
|
||||
"trusted": "true",
|
||||
"trust-store": "all",
|
||||
"invalid-before": "2026-10-10 16:48:14",
|
||||
"invalid-after": "2026-10-12 16:48:14",
|
||||
"common-name": "mm-ipsec114-1791640092983-CA"
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640092983-server",
|
||||
"trusted": "false",
|
||||
"trust-store": "all",
|
||||
"ca": "mm-ipsec114-1791640092983-ca",
|
||||
"invalid-before": "2026-10-10 16:48:16",
|
||||
"invalid-after": "2026-10-12 16:48:16",
|
||||
"common-name": "194.226.121.150"
|
||||
},
|
||||
{
|
||||
"name": "ipsec-user-mm-ipsec114-1791640092983",
|
||||
"trusted": "false",
|
||||
"trust-store": "all",
|
||||
"ca": "mm-ipsec114-1791640092983-ca",
|
||||
"invalid-before": "2026-10-10 16:48:16",
|
||||
"invalid-after": "2026-10-12 16:48:16",
|
||||
"common-name": "mm-ipsec114-1791640092983"
|
||||
},
|
||||
{
|
||||
"name": "ipsec-user-mm-ipsec114-1791640092983-decoy",
|
||||
"trusted": "false",
|
||||
"trust-store": "all",
|
||||
"ca": "mm-ipsec114-1791640092983-ca",
|
||||
"invalid-before": "2026-10-10 16:48:18",
|
||||
"invalid-after": "2026-10-12 16:48:18",
|
||||
"common-name": "CN=mm-ipsec114-1791640092983"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"name": "mm-ipsec114-1791640092983-client-imported",
|
||||
"trusted": "true",
|
||||
"trust-store": "ipsec",
|
||||
"invalid-before": "2026-10-10 15:48:16",
|
||||
"invalid-after": "2026-10-12 15:48:16",
|
||||
"common-name": "mm-ipsec114-1791640092983"
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640092983-ca-imported",
|
||||
"trusted": "true",
|
||||
"trust-store": "ipsec",
|
||||
"invalid-before": "2026-10-10 15:48:14",
|
||||
"invalid-after": "2026-10-12 15:48:14",
|
||||
"common-name": "mm-ipsec114-1791640092983-CA"
|
||||
}
|
||||
]
|
||||
],
|
||||
"catalogCorrect": true,
|
||||
"dnPhase": {
|
||||
"active": [
|
||||
{
|
||||
".id": "*1",
|
||||
"id": "CN=mm-ipsec114-1791640092983",
|
||||
"state": "established",
|
||||
"dynamic-address": "198.18.114.250",
|
||||
"remote-address": "104.165.244.7",
|
||||
"uptime": "1s"
|
||||
}
|
||||
],
|
||||
"clients": [
|
||||
{
|
||||
"name": "CN=mm-ipsec114-1791640092983",
|
||||
"commonName": "CN=mm-ipsec114-1791640092983",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640092983-decoy",
|
||||
"online": false
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640092983",
|
||||
"commonName": "mm-ipsec114-1791640092983",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640092983",
|
||||
"online": true,
|
||||
"activeAddress": "198.18.114.250"
|
||||
}
|
||||
],
|
||||
"decoyOnline": false
|
||||
},
|
||||
"fqdnPhase": {
|
||||
"configuredRemoteId": "fqdn:mm-ipsec114-1791640092983.example",
|
||||
"nativeId": "mm-ipsec114-1791640092983.example",
|
||||
"assignedAddress": "198.18.114.250",
|
||||
"originalOnline": true,
|
||||
"decoyOnline": false
|
||||
},
|
||||
"aliasName": "mm-ipsec114-1791640092983-psk",
|
||||
"aliasPhase": {
|
||||
"native": [
|
||||
{
|
||||
"id": "mm-ipsec114-1791640092983.example",
|
||||
"state": "established",
|
||||
"dynamic-address": "198.18.114.250"
|
||||
}
|
||||
],
|
||||
"clients": [
|
||||
{
|
||||
"name": "CN=mm-ipsec114-1791640092983",
|
||||
"kind": "cert",
|
||||
"online": false
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640092983-psk",
|
||||
"kind": "cert",
|
||||
"online": true,
|
||||
"activeAddress": "198.18.114.250"
|
||||
}
|
||||
],
|
||||
"summary": {
|
||||
"clientsTotal": 2,
|
||||
"clientsOnline": 1
|
||||
}
|
||||
},
|
||||
"error": "Expected values to be strictly equal:\n\n1 !== 2\n"
|
||||
},
|
||||
"native": {
|
||||
"date": "2026-10-10",
|
||||
"block": "12.5.114",
|
||||
"name": "mm-ipsec114-1791640533938",
|
||||
"cn": "mm-ipsec114-1791640533938",
|
||||
"observations": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"active": [
|
||||
{
|
||||
".id": "*1",
|
||||
"id": "CN=mm-ipsec114-1791640533938",
|
||||
"state": "established",
|
||||
"dynamic-address": "198.18.114.250",
|
||||
"remote-address": "104.165.244.7",
|
||||
"uptime": "0s"
|
||||
}
|
||||
],
|
||||
"catalog": [
|
||||
{
|
||||
"name": "CN=mm-ipsec114-1791640533938",
|
||||
"commonName": "CN=mm-ipsec114-1791640533938",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640533938-decoy",
|
||||
"online": false
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640533938",
|
||||
"commonName": "mm-ipsec114-1791640533938",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640533938",
|
||||
"online": true,
|
||||
"activeAddress": "198.18.114.250"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"active": [
|
||||
{
|
||||
".id": "*1",
|
||||
"id": "194.226.121.150",
|
||||
"state": "established",
|
||||
"remote-address": "194.226.121.150",
|
||||
"uptime": "0s"
|
||||
}
|
||||
],
|
||||
"catalog": []
|
||||
}
|
||||
],
|
||||
"cleanup": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"/system/logging": true,
|
||||
"/ip/ipsec/identity": true,
|
||||
"/ip/ipsec/peer": true,
|
||||
"/ip/ipsec/policy": true,
|
||||
"/ip/ipsec/policy/group": true,
|
||||
"/ip/ipsec/mode-config": true,
|
||||
"/ip/ipsec/proposal": true,
|
||||
"/ip/ipsec/profile": true,
|
||||
"/certificate": true,
|
||||
"/file": true,
|
||||
"/ip/address": true,
|
||||
"/ip/route": true,
|
||||
"/ip/firewall/nat": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"/system/logging": true,
|
||||
"/ip/ipsec/identity": true,
|
||||
"/ip/ipsec/peer": true,
|
||||
"/ip/ipsec/policy": true,
|
||||
"/ip/ipsec/policy/group": true,
|
||||
"/ip/ipsec/mode-config": true,
|
||||
"/ip/ipsec/proposal": true,
|
||||
"/ip/ipsec/profile": true,
|
||||
"/certificate": true,
|
||||
"/file": true,
|
||||
"/ip/address": true,
|
||||
"/ip/route": true,
|
||||
"/ip/firewall/nat": true
|
||||
}
|
||||
],
|
||||
"databaseWrites": "Two successful API mutations invoke history recording; deduplication may avoid new rows",
|
||||
"certificate": {
|
||||
"name": "ipsec-user-mm-ipsec114-1791640533938",
|
||||
"common-name": "mm-ipsec114-1791640533938",
|
||||
"ca": "mm-ipsec114-1791640533938-ca",
|
||||
"key-usage": "digital-signature,key-encipherment,tls-client"
|
||||
},
|
||||
"certificates": [
|
||||
[
|
||||
{
|
||||
"name": "mm-ipsec114-1791640533938-ca",
|
||||
"trusted": "true",
|
||||
"trust-store": "all",
|
||||
"invalid-before": "2026-10-10 16:55:36",
|
||||
"invalid-after": "2026-10-12 16:55:36",
|
||||
"common-name": "mm-ipsec114-1791640533938-CA"
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640533938-server",
|
||||
"trusted": "false",
|
||||
"trust-store": "all",
|
||||
"ca": "mm-ipsec114-1791640533938-ca",
|
||||
"invalid-before": "2026-10-10 16:55:36",
|
||||
"invalid-after": "2026-10-12 16:55:36",
|
||||
"common-name": "194.226.121.150"
|
||||
},
|
||||
{
|
||||
"name": "ipsec-user-mm-ipsec114-1791640533938",
|
||||
"trusted": "false",
|
||||
"trust-store": "all",
|
||||
"ca": "mm-ipsec114-1791640533938-ca",
|
||||
"invalid-before": "2026-10-10 16:55:37",
|
||||
"invalid-after": "2026-10-12 16:55:37",
|
||||
"common-name": "mm-ipsec114-1791640533938"
|
||||
},
|
||||
{
|
||||
"name": "ipsec-user-mm-ipsec114-1791640533938-decoy",
|
||||
"trusted": "false",
|
||||
"trust-store": "all",
|
||||
"ca": "mm-ipsec114-1791640533938-ca",
|
||||
"invalid-before": "2026-10-10 16:55:37",
|
||||
"invalid-after": "2026-10-12 16:55:37",
|
||||
"common-name": "CN=mm-ipsec114-1791640533938"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"name": "mm-ipsec114-1791640533938-client-imported",
|
||||
"trusted": "true",
|
||||
"trust-store": "ipsec",
|
||||
"invalid-before": "2026-10-10 15:55:37",
|
||||
"invalid-after": "2026-10-12 15:55:37",
|
||||
"common-name": "mm-ipsec114-1791640533938"
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640533938-ca-imported",
|
||||
"trusted": "true",
|
||||
"trust-store": "ipsec",
|
||||
"invalid-before": "2026-10-10 15:55:36",
|
||||
"invalid-after": "2026-10-12 15:55:36",
|
||||
"common-name": "mm-ipsec114-1791640533938-CA"
|
||||
}
|
||||
]
|
||||
],
|
||||
"catalogCorrect": true,
|
||||
"dnPhase": {
|
||||
"active": [
|
||||
{
|
||||
".id": "*1",
|
||||
"id": "CN=mm-ipsec114-1791640533938",
|
||||
"state": "established",
|
||||
"dynamic-address": "198.18.114.250",
|
||||
"remote-address": "104.165.244.7",
|
||||
"uptime": "0s"
|
||||
}
|
||||
],
|
||||
"clients": [
|
||||
{
|
||||
"name": "CN=mm-ipsec114-1791640533938",
|
||||
"commonName": "CN=mm-ipsec114-1791640533938",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640533938-decoy",
|
||||
"online": false
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640533938",
|
||||
"commonName": "mm-ipsec114-1791640533938",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640533938",
|
||||
"online": true,
|
||||
"activeAddress": "198.18.114.250"
|
||||
}
|
||||
],
|
||||
"decoyOnline": false
|
||||
},
|
||||
"fqdnPhase": {
|
||||
"configuredRemoteId": "fqdn:mm-ipsec114-1791640533938.example",
|
||||
"nativeId": "mm-ipsec114-1791640533938.example",
|
||||
"assignedAddress": "198.18.114.250",
|
||||
"originalOnline": true,
|
||||
"decoyOnline": false
|
||||
},
|
||||
"aliasName": "mm-ipsec114-1791640533938-psk",
|
||||
"aliasPhase": {
|
||||
"native": [
|
||||
{
|
||||
"id": "mm-ipsec114-1791640533938.example",
|
||||
"state": "established",
|
||||
"dynamic-address": "198.18.114.250"
|
||||
}
|
||||
],
|
||||
"clients": [
|
||||
{
|
||||
"name": "CN=mm-ipsec114-1791640533938",
|
||||
"kind": "cert",
|
||||
"online": false
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640533938",
|
||||
"kind": "cert",
|
||||
"online": false,
|
||||
"sessionAmbiguous": true
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640533938-psk",
|
||||
"kind": "cert",
|
||||
"online": false,
|
||||
"sessionAmbiguous": true
|
||||
}
|
||||
],
|
||||
"summary": {
|
||||
"clientsTotal": 3,
|
||||
"clientsOnline": 0,
|
||||
"clientsSessionAmbiguous": 2
|
||||
}
|
||||
},
|
||||
"renameReply": {
|
||||
"error": "RouterOS: RouterOS API error 400 on /ip/ipsec/identity/*B: {\"detail\":\"failure: a matching identity already exists\",\"error\":400,\"message\":\"Bad Request\"}"
|
||||
},
|
||||
"targetGuards": {
|
||||
"certificatePatch409": true,
|
||||
"certificateDelete409": true,
|
||||
"sharedCertificateIdentityDelete409": true,
|
||||
"selectedIdentityPatchNativeMatchingConflict": true,
|
||||
"bothCommentsUnchanged": true
|
||||
},
|
||||
"recovered": {
|
||||
"originalOnline": true,
|
||||
"sessionAmbiguous": false,
|
||||
"activeAddress": "198.18.114.250",
|
||||
"selectedIdentityPatch200AfterRemovingDuplicate": true,
|
||||
"originalCommentRestored": true
|
||||
}
|
||||
},
|
||||
"browserEvidence": "browser-ipsec-refs-2026-10-10.json",
|
||||
"preliminary": {
|
||||
"syntaxErrorBeforeAnyWrites": "Identifier root already declared; corrected to apiRoot",
|
||||
"emptyDeleteBody": {
|
||||
"date": "2026-10-10",
|
||||
"block": "12.5.114",
|
||||
"name": "mm-ipsec114-1791640180482",
|
||||
"cn": "mm-ipsec114-1791640180482",
|
||||
"observations": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"active": [
|
||||
{
|
||||
".id": "*1",
|
||||
"id": "CN=mm-ipsec114-1791640180482",
|
||||
"state": "established",
|
||||
"dynamic-address": "198.18.114.250",
|
||||
"remote-address": "104.165.244.7",
|
||||
"uptime": "1s"
|
||||
}
|
||||
],
|
||||
"catalog": [
|
||||
{
|
||||
"name": "CN=mm-ipsec114-1791640180482",
|
||||
"commonName": "CN=mm-ipsec114-1791640180482",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640180482-decoy",
|
||||
"online": false
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640180482",
|
||||
"commonName": "mm-ipsec114-1791640180482",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640180482",
|
||||
"online": true,
|
||||
"activeAddress": "198.18.114.250"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"active": [
|
||||
{
|
||||
".id": "*1",
|
||||
"id": "194.226.121.150",
|
||||
"state": "established",
|
||||
"remote-address": "194.226.121.150",
|
||||
"uptime": "1s"
|
||||
}
|
||||
],
|
||||
"catalog": []
|
||||
}
|
||||
],
|
||||
"cleanup": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"/system/logging": true,
|
||||
"/ip/ipsec/identity": true,
|
||||
"/ip/ipsec/peer": true,
|
||||
"/ip/ipsec/policy": true,
|
||||
"/ip/ipsec/policy/group": true,
|
||||
"/ip/ipsec/mode-config": true,
|
||||
"/ip/ipsec/proposal": true,
|
||||
"/ip/ipsec/profile": true,
|
||||
"/certificate": true,
|
||||
"/file": true,
|
||||
"/ip/address": true,
|
||||
"/ip/route": true,
|
||||
"/ip/firewall/nat": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"/system/logging": true,
|
||||
"/ip/ipsec/identity": true,
|
||||
"/ip/ipsec/peer": true,
|
||||
"/ip/ipsec/policy": true,
|
||||
"/ip/ipsec/policy/group": true,
|
||||
"/ip/ipsec/mode-config": true,
|
||||
"/ip/ipsec/proposal": true,
|
||||
"/ip/ipsec/profile": true,
|
||||
"/certificate": true,
|
||||
"/file": true,
|
||||
"/ip/address": true,
|
||||
"/ip/route": true,
|
||||
"/ip/firewall/nat": true
|
||||
}
|
||||
],
|
||||
"databaseWrites": false,
|
||||
"certificate": {
|
||||
"name": "ipsec-user-mm-ipsec114-1791640180482",
|
||||
"common-name": "mm-ipsec114-1791640180482",
|
||||
"ca": "mm-ipsec114-1791640180482-ca",
|
||||
"key-usage": "digital-signature,key-encipherment,tls-client"
|
||||
},
|
||||
"certificates": [
|
||||
[
|
||||
{
|
||||
"name": "mm-ipsec114-1791640180482-ca",
|
||||
"trusted": "true",
|
||||
"trust-store": "all",
|
||||
"invalid-before": "2026-10-10 16:49:42",
|
||||
"invalid-after": "2026-10-12 16:49:42",
|
||||
"common-name": "mm-ipsec114-1791640180482-CA"
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640180482-server",
|
||||
"trusted": "false",
|
||||
"trust-store": "all",
|
||||
"ca": "mm-ipsec114-1791640180482-ca",
|
||||
"invalid-before": "2026-10-10 16:49:42",
|
||||
"invalid-after": "2026-10-12 16:49:42",
|
||||
"common-name": "194.226.121.150"
|
||||
},
|
||||
{
|
||||
"name": "ipsec-user-mm-ipsec114-1791640180482",
|
||||
"trusted": "false",
|
||||
"trust-store": "all",
|
||||
"ca": "mm-ipsec114-1791640180482-ca",
|
||||
"invalid-before": "2026-10-10 16:49:43",
|
||||
"invalid-after": "2026-10-12 16:49:43",
|
||||
"common-name": "mm-ipsec114-1791640180482"
|
||||
},
|
||||
{
|
||||
"name": "ipsec-user-mm-ipsec114-1791640180482-decoy",
|
||||
"trusted": "false",
|
||||
"trust-store": "all",
|
||||
"ca": "mm-ipsec114-1791640180482-ca",
|
||||
"invalid-before": "2026-10-10 16:49:44",
|
||||
"invalid-after": "2026-10-12 16:49:44",
|
||||
"common-name": "CN=mm-ipsec114-1791640180482"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"name": "mm-ipsec114-1791640180482-client-imported",
|
||||
"trusted": "true",
|
||||
"trust-store": "ipsec",
|
||||
"invalid-before": "2026-10-10 15:49:43",
|
||||
"invalid-after": "2026-10-12 15:49:43",
|
||||
"common-name": "mm-ipsec114-1791640180482"
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640180482-ca-imported",
|
||||
"trusted": "true",
|
||||
"trust-store": "ipsec",
|
||||
"invalid-before": "2026-10-10 15:49:42",
|
||||
"invalid-after": "2026-10-12 15:49:42",
|
||||
"common-name": "mm-ipsec114-1791640180482-CA"
|
||||
}
|
||||
]
|
||||
],
|
||||
"catalogCorrect": true,
|
||||
"dnPhase": {
|
||||
"active": [
|
||||
{
|
||||
".id": "*1",
|
||||
"id": "CN=mm-ipsec114-1791640180482",
|
||||
"state": "established",
|
||||
"dynamic-address": "198.18.114.250",
|
||||
"remote-address": "104.165.244.7",
|
||||
"uptime": "1s"
|
||||
}
|
||||
],
|
||||
"clients": [
|
||||
{
|
||||
"name": "CN=mm-ipsec114-1791640180482",
|
||||
"commonName": "CN=mm-ipsec114-1791640180482",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640180482-decoy",
|
||||
"online": false
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640180482",
|
||||
"commonName": "mm-ipsec114-1791640180482",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640180482",
|
||||
"online": true,
|
||||
"activeAddress": "198.18.114.250"
|
||||
}
|
||||
],
|
||||
"decoyOnline": false
|
||||
},
|
||||
"fqdnPhase": {
|
||||
"configuredRemoteId": "fqdn:mm-ipsec114-1791640180482.example",
|
||||
"nativeId": "mm-ipsec114-1791640180482.example",
|
||||
"assignedAddress": "198.18.114.250",
|
||||
"originalOnline": true,
|
||||
"decoyOnline": false
|
||||
},
|
||||
"aliasName": "mm-ipsec114-1791640180482-psk",
|
||||
"aliasPhase": {
|
||||
"native": [
|
||||
{
|
||||
"id": "mm-ipsec114-1791640180482.example",
|
||||
"state": "established",
|
||||
"dynamic-address": "198.18.114.250"
|
||||
}
|
||||
],
|
||||
"clients": [
|
||||
{
|
||||
"name": "CN=mm-ipsec114-1791640180482",
|
||||
"kind": "cert",
|
||||
"online": false
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640180482",
|
||||
"kind": "cert",
|
||||
"online": false,
|
||||
"sessionAmbiguous": true
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640180482-psk",
|
||||
"kind": "cert",
|
||||
"online": false,
|
||||
"sessionAmbiguous": true
|
||||
}
|
||||
],
|
||||
"summary": {
|
||||
"clientsTotal": 3,
|
||||
"clientsOnline": 0,
|
||||
"clientsSessionAmbiguous": 2
|
||||
}
|
||||
},
|
||||
"error": "Expected values to be strictly equal:\n\n400 !== 409\n"
|
||||
},
|
||||
"nativeMatchingConflict": {
|
||||
"date": "2026-10-10",
|
||||
"block": "12.5.114",
|
||||
"name": "mm-ipsec114-1791640404881",
|
||||
"cn": "mm-ipsec114-1791640404881",
|
||||
"observations": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"active": [
|
||||
{
|
||||
".id": "*1",
|
||||
"id": "CN=mm-ipsec114-1791640404881",
|
||||
"state": "established",
|
||||
"dynamic-address": "198.18.114.250",
|
||||
"remote-address": "104.165.244.7",
|
||||
"uptime": "1s"
|
||||
}
|
||||
],
|
||||
"catalog": [
|
||||
{
|
||||
"name": "CN=mm-ipsec114-1791640404881",
|
||||
"commonName": "CN=mm-ipsec114-1791640404881",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640404881-decoy",
|
||||
"online": false
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640404881",
|
||||
"commonName": "mm-ipsec114-1791640404881",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640404881",
|
||||
"online": true,
|
||||
"activeAddress": "198.18.114.250"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"active": [
|
||||
{
|
||||
".id": "*1",
|
||||
"id": "194.226.121.150",
|
||||
"state": "established",
|
||||
"remote-address": "194.226.121.150",
|
||||
"uptime": "0s"
|
||||
}
|
||||
],
|
||||
"catalog": []
|
||||
}
|
||||
],
|
||||
"cleanup": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"/system/logging": true,
|
||||
"/ip/ipsec/identity": true,
|
||||
"/ip/ipsec/peer": true,
|
||||
"/ip/ipsec/policy": true,
|
||||
"/ip/ipsec/policy/group": true,
|
||||
"/ip/ipsec/mode-config": true,
|
||||
"/ip/ipsec/proposal": true,
|
||||
"/ip/ipsec/profile": true,
|
||||
"/certificate": true,
|
||||
"/file": true,
|
||||
"/ip/address": true,
|
||||
"/ip/route": true,
|
||||
"/ip/firewall/nat": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"/system/logging": true,
|
||||
"/ip/ipsec/identity": true,
|
||||
"/ip/ipsec/peer": true,
|
||||
"/ip/ipsec/policy": true,
|
||||
"/ip/ipsec/policy/group": true,
|
||||
"/ip/ipsec/mode-config": true,
|
||||
"/ip/ipsec/proposal": true,
|
||||
"/ip/ipsec/profile": true,
|
||||
"/certificate": true,
|
||||
"/file": true,
|
||||
"/ip/address": true,
|
||||
"/ip/route": true,
|
||||
"/ip/firewall/nat": true
|
||||
}
|
||||
],
|
||||
"databaseWrites": false,
|
||||
"certificate": {
|
||||
"name": "ipsec-user-mm-ipsec114-1791640404881",
|
||||
"common-name": "mm-ipsec114-1791640404881",
|
||||
"ca": "mm-ipsec114-1791640404881-ca",
|
||||
"key-usage": "digital-signature,key-encipherment,tls-client"
|
||||
},
|
||||
"certificates": [
|
||||
[
|
||||
{
|
||||
"name": "mm-ipsec114-1791640404881-ca",
|
||||
"trusted": "true",
|
||||
"trust-store": "all",
|
||||
"invalid-before": "2026-10-10 16:53:26",
|
||||
"invalid-after": "2026-10-12 16:53:26",
|
||||
"common-name": "mm-ipsec114-1791640404881-CA"
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640404881-server",
|
||||
"trusted": "false",
|
||||
"trust-store": "all",
|
||||
"ca": "mm-ipsec114-1791640404881-ca",
|
||||
"invalid-before": "2026-10-10 16:53:26",
|
||||
"invalid-after": "2026-10-12 16:53:26",
|
||||
"common-name": "194.226.121.150"
|
||||
},
|
||||
{
|
||||
"name": "ipsec-user-mm-ipsec114-1791640404881",
|
||||
"trusted": "false",
|
||||
"trust-store": "all",
|
||||
"ca": "mm-ipsec114-1791640404881-ca",
|
||||
"invalid-before": "2026-10-10 16:53:28",
|
||||
"invalid-after": "2026-10-12 16:53:28",
|
||||
"common-name": "mm-ipsec114-1791640404881"
|
||||
},
|
||||
{
|
||||
"name": "ipsec-user-mm-ipsec114-1791640404881-decoy",
|
||||
"trusted": "false",
|
||||
"trust-store": "all",
|
||||
"ca": "mm-ipsec114-1791640404881-ca",
|
||||
"invalid-before": "2026-10-10 16:53:29",
|
||||
"invalid-after": "2026-10-12 16:53:29",
|
||||
"common-name": "CN=mm-ipsec114-1791640404881"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"name": "mm-ipsec114-1791640404881-client-imported",
|
||||
"trusted": "true",
|
||||
"trust-store": "ipsec",
|
||||
"invalid-before": "2026-10-10 15:53:28",
|
||||
"invalid-after": "2026-10-12 15:53:28",
|
||||
"common-name": "mm-ipsec114-1791640404881"
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640404881-ca-imported",
|
||||
"trusted": "true",
|
||||
"trust-store": "ipsec",
|
||||
"invalid-before": "2026-10-10 15:53:26",
|
||||
"invalid-after": "2026-10-12 15:53:26",
|
||||
"common-name": "mm-ipsec114-1791640404881-CA"
|
||||
}
|
||||
]
|
||||
],
|
||||
"catalogCorrect": true,
|
||||
"dnPhase": {
|
||||
"active": [
|
||||
{
|
||||
".id": "*1",
|
||||
"id": "CN=mm-ipsec114-1791640404881",
|
||||
"state": "established",
|
||||
"dynamic-address": "198.18.114.250",
|
||||
"remote-address": "104.165.244.7",
|
||||
"uptime": "1s"
|
||||
}
|
||||
],
|
||||
"clients": [
|
||||
{
|
||||
"name": "CN=mm-ipsec114-1791640404881",
|
||||
"commonName": "CN=mm-ipsec114-1791640404881",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640404881-decoy",
|
||||
"online": false
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640404881",
|
||||
"commonName": "mm-ipsec114-1791640404881",
|
||||
"certName": "ipsec-user-mm-ipsec114-1791640404881",
|
||||
"online": true,
|
||||
"activeAddress": "198.18.114.250"
|
||||
}
|
||||
],
|
||||
"decoyOnline": false
|
||||
},
|
||||
"fqdnPhase": {
|
||||
"configuredRemoteId": "fqdn:mm-ipsec114-1791640404881.example",
|
||||
"nativeId": "mm-ipsec114-1791640404881.example",
|
||||
"assignedAddress": "198.18.114.250",
|
||||
"originalOnline": true,
|
||||
"decoyOnline": false
|
||||
},
|
||||
"aliasName": "mm-ipsec114-1791640404881-psk",
|
||||
"aliasPhase": {
|
||||
"native": [
|
||||
{
|
||||
"id": "mm-ipsec114-1791640404881.example",
|
||||
"state": "established",
|
||||
"dynamic-address": "198.18.114.250"
|
||||
}
|
||||
],
|
||||
"clients": [
|
||||
{
|
||||
"name": "CN=mm-ipsec114-1791640404881",
|
||||
"kind": "cert",
|
||||
"online": false
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640404881",
|
||||
"kind": "cert",
|
||||
"online": false,
|
||||
"sessionAmbiguous": true
|
||||
},
|
||||
{
|
||||
"name": "mm-ipsec114-1791640404881-psk",
|
||||
"kind": "cert",
|
||||
"online": false,
|
||||
"sessionAmbiguous": true
|
||||
}
|
||||
],
|
||||
"summary": {
|
||||
"clientsTotal": 3,
|
||||
"clientsOnline": 0,
|
||||
"clientsSessionAmbiguous": 2
|
||||
}
|
||||
},
|
||||
"renameReply": {
|
||||
"error": "RouterOS: RouterOS API error 400 on /ip/ipsec/identity/*B: {\"detail\":\"failure: a matching identity already exists\",\"error\":400,\"message\":\"Bad Request\"}"
|
||||
},
|
||||
"error": "{\"error\":\"RouterOS: RouterOS API error 400 on /ip/ipsec/identity/*B: {\\\"detail\\\":\\\"failure: a matching identity already exists\\\",\\\"error\\\":400,\\\"message\\\":\\\"Bad Request\\\"}\"}\n\n502 !== 200\n"
|
||||
}
|
||||
},
|
||||
"bounds": [
|
||||
"Two identities refer to one signed client certificate; native one established IKE connection",
|
||||
"Selected PATCH with identical matching conditions is rejected by RouterOS; both comments unchanged",
|
||||
"PATCH200 verified after removal of own duplicate, not while duplicate matching identities coexist",
|
||||
"DELETE preserving certificate covered by local HTTP test; UI currently has no separate preserve-certificate option",
|
||||
"Two successful API PATCH invoke history recording; do not claim two inserted history rows",
|
||||
"No full regression, multiple simultaneous native sessions, client OS or full PKI claim"
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user