Files
MikrotikManager/docs/ux-ui/acceptance/ipsec-certificate-time-observation-2026-10-11.json
T

331 lines
18 KiB
JSON

{
"date": "2026-10-11",
"block": "12.5.128",
"status": "Observed time-invalid IKE timeouts; precise RouterOS refusal reason remains unaccepted",
"runtime": {
"backend": "ux-crl127",
"frontend": "ux-ike124"
},
"native": {
"date": "2026-10-11",
"block": "12.5.128",
"name": "mm-ipsec128-1791662449866",
"linux": [
{
"variant": "certificate-derived",
"initiated": true,
"vip": "198.18.128.248",
"ping3of3": true,
"native": [
{
"id": "CN=mm-ipsec128-1791662449866-client",
"state": "established",
"vip": "198.18.128.248"
}
],
"catalog": {
"online": true,
"activeAddress": "198.18.128.248"
}
}
],
"cleanup": [
{
"serverId": 1,
"/certificate/crl": true,
"/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,
"/ip/pool": true,
"/interface/bridge": true,
"/ipv6/address": true
},
{
"serverId": 2,
"/certificate/crl": true,
"/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,
"/ip/pool": true,
"/interface/bridge": true,
"/ipv6/address": true
}
],
"clientImage": "sha256:c9d01c801de88b2349f685c1cb631e67a8b1c697439a00148d4045c23a584054",
"subject": {
"derHex": "302b3129302706035504030c206d6d2d69707365633132382d313739313636323434393836362d636c69656e74",
"attributes": [
{
"oidHex": "550403",
"stringTag": 12,
"value": "mm-ipsec128-1791662449866-client"
}
],
"san": "X509v3 Subject Alternative Name: \n DNS:mm-ipsec128-1791662449866.example"
},
"lifecycle": [
{
"phase": "valid-control",
"established": 1,
"online": true,
"vip": "198.18.128.248",
"addressList": [
"127.0.0.1",
"::1",
"172.19.0.2",
"198.18.128.248"
],
"ping3of3": true,
"sas": [
{
"spi": "0xD50FA609",
"state": "mature",
"src": "161.104.46.222:4500",
"dst": "194.226.121.150:4500"
},
{
"spi": "0xCC9C2EBF",
"state": "mature",
"src": "194.226.121.150:4500",
"dst": "161.104.46.222:4500"
}
],
"attempts": [
{
"attempt": 1,
"success": false,
"output": "PING 198.18.128.1 (198.18.128.1) from 198.18.128.248 : 56(84) bytes of data.\n64 bytes from 198.18.128.1: icmp_seq=2 ttl=64 time=2.84 ms\n64 bytes from 198.18.128.1: icmp_seq=3 ttl=64 time=2.70 ms\n\n--- 198.18.128.1 ping statistics ---\n3 packets transmitted, 2 received, 33.3333% packet loss, time 2030ms\nrtt min/avg/max/mdev = 2.701/2.771/2.842/0.070 ms\n"
},
{
"attempt": 2,
"success": true,
"output": "PING 198.18.128.1 (198.18.128.1) from 198.18.128.248 : 56(84) bytes of data.\n64 bytes from 198.18.128.1: icmp_seq=1 ttl=64 time=2.74 ms\n64 bytes from 198.18.128.1: icmp_seq=2 ttl=64 time=2.61 ms\n64 bytes from 198.18.128.1: icmp_seq=3 ttl=64 time=2.50 ms\n\n--- 198.18.128.1 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 2004ms\nrtt min/avg/max/mdev = 2.502/2.616/2.735/0.095 ms\n"
}
]
},
{
"phase": "valid-renewal",
"established": 1,
"online": true,
"vip": "198.18.128.248",
"addressList": [
"127.0.0.1",
"::1",
"172.19.0.2",
"198.18.128.248"
],
"ping3of3": true,
"sas": [
{
"spi": "0xE16C92CC",
"state": "mature",
"src": "161.104.46.222:4500",
"dst": "194.226.121.150:4500"
},
{
"spi": "0xCA1C1C1C",
"state": "mature",
"src": "194.226.121.150:4500",
"dst": "161.104.46.222:4500"
}
],
"attempts": [
{
"attempt": 1,
"success": true,
"output": "PING 198.18.128.1 (198.18.128.1) from 198.18.128.248 : 56(84) bytes of data.\n64 bytes from 198.18.128.1: icmp_seq=1 ttl=64 time=3.13 ms\n64 bytes from 198.18.128.1: icmp_seq=2 ttl=64 time=2.51 ms\n64 bytes from 198.18.128.1: icmp_seq=3 ttl=64 time=2.60 ms\n\n--- 198.18.128.1 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 2003ms\nrtt min/avg/max/mdev = 2.510/2.747/3.129/0.272 ms\n"
}
]
}
],
"invalidCertificates": [
{
"kind": "valid-renewal",
"notBefore": "Oct 10 19:01:03 2026 GMT",
"notAfter": "Oct 10 21:01:03 2026 GMT",
"initiated": true,
"output": " into 2 fragments\n[ENC] generating IKE_AUTH request 1 [ EF(1/2) ]\n[ENC] generating IKE_AUTH request 1 [ EF(2/2) ]\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (1236 bytes)\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (276 bytes)\n[NET] received packet: from 194.226.121.150[4500] to 172.19.0.2[4500] (1252 bytes)\n[ENC] parsed IKE_AUTH response 1 [ EF(1/2) ]\n[ENC] received fragment #1 of 2, waiting for complete IKE message\n[NET] received packet: from 194.226.121.150[4500] to 172.19.0.2[4500] (484 bytes)\n[ENC] parsed IKE_AUTH response 1 [ EF(2/2) ]\n[ENC] received fragment #2 of 2, reassembled fragmented IKE message (1312 bytes)\n[ENC] parsed IKE_AUTH response 1 [ IDr AUTH CERT CPRP(ADDR MASK DNS DNS) TSi TSr SA ]\n[IKE] received end entity cert \"CN=194.226.121.150\"\n[CFG] using trusted certificate \"CN=194.226.121.150\"\n[CFG] using trusted ca certificate \"CN=mm-ipsec128-1791662449866-ca\"\n[CFG] reached self-signed root ca with a path length of 0\n[CFG] checking certificate status of \"CN=194.226.121.150\"\n[CFG] certificate status is not available\n[IKE] authentication of '194.226.121.150' with RSA signature successful\n[CFG] handling INTERNAL_IP4_NETMASK attribute failed\n[IKE] installing DNS server 8.8.8.8 to /etc/resolv.conf\n[IKE] installing DNS server 8.8.4.4 to /etc/resolv.conf\n[IKE] installing new virtual IP 198.18.128.248\n[IKE] IKE_SA lab[1] established between 172.19.0.2[CN=mm-ipsec128-1791662449866-client]...194.226.121.150[194.226.121.150]\n[IKE] scheduling rekeying in 13684s\n[IKE] maximum IKE_SA lifetime 15124s\n[CFG] selected proposal: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ\n[IKE] CHILD_SA private{1} established with SPIs ca1c1c1c_i e16c92cc_o and TS 198.18.128.248/32 === 198.18.128.0/24\ninitiate completed successfully\n",
"established": 1,
"catalogOnline": 1
},
{
"kind": "expired",
"notBefore": "Oct 10 17:01:17 2026 GMT",
"notAfter": "Oct 10 18:01:17 2026 GMT",
"initiated": false,
"output": "FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]\n[NET] sending packet: from 172.19.0.2[500] to 194.226.121.150[500] (464 bytes)\n[NET] received packet: from 194.226.121.150[500] to 172.19.0.2[500] (437 bytes)\n[ENC] parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) CERTREQ ]\n[CFG] selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048\n[IKE] local host is behind NAT, sending keep alives\n[IKE] sending cert request for \"CN=mm-ipsec128-1791662449866-ca\"\n[IKE] authentication of 'CN=mm-ipsec128-1791662449866-client' (myself) with RSA signature successful\n[IKE] sending end entity cert \"CN=mm-ipsec128-1791662449866-client\"\n[IKE] establishing CHILD_SA private{1}\n[ENC] generating IKE_AUTH request 1 [ IDi CERT CERTREQ AUTH CPRQ(ADDR DNS) SA TSi TSr N(MOBIKE_SUP) N(NO_ADD_ADDR) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ]\n[ENC] splitting IKE message (1440 bytes) into 2 fragments\n[ENC] generating IKE_AUTH request 1 [ EF(1/2) ]\n[ENC] generating IKE_AUTH request 1 [ EF(2/2) ]\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (1236 bytes)\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (276 bytes)\n[IKE] retransmit 1 of request with message ID 1\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (1236 bytes)\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (276 bytes)\n[IKE] retransmit 2 of request with message ID 1\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (1236 bytes)\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (276 bytes)\n[IKE] retransmit 3 of request with message ID 1\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (1236 bytes)\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (276 bytes)\n",
"established": 0,
"catalogOnline": 0
},
{
"kind": "not-yet-valid",
"notBefore": "Oct 10 22:01:48 2026 GMT",
"notAfter": "Oct 10 23:01:48 2026 GMT",
"initiated": false,
"output": "FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]\n[NET] sending packet: from 172.19.0.2[500] to 194.226.121.150[500] (464 bytes)\n[NET] received packet: from 194.226.121.150[500] to 172.19.0.2[500] (437 bytes)\n[ENC] parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) CERTREQ ]\n[CFG] selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048\n[IKE] local host is behind NAT, sending keep alives\n[IKE] sending cert request for \"CN=mm-ipsec128-1791662449866-ca\"\n[IKE] authentication of 'CN=mm-ipsec128-1791662449866-client' (myself) with RSA signature successful\n[IKE] sending end entity cert \"CN=mm-ipsec128-1791662449866-client\"\n[IKE] establishing CHILD_SA private{1}\n[ENC] generating IKE_AUTH request 1 [ IDi CERT CERTREQ AUTH CPRQ(ADDR DNS) SA TSi TSr N(MOBIKE_SUP) N(NO_ADD_ADDR) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ]\n[ENC] splitting IKE message (1440 bytes) into 2 fragments\n[ENC] generating IKE_AUTH request 1 [ EF(1/2) ]\n[ENC] generating IKE_AUTH request 1 [ EF(2/2) ]\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (1236 bytes)\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (276 bytes)\n[IKE] retransmit 1 of request with message ID 1\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (1236 bytes)\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (276 bytes)\n[IKE] retransmit 2 of request with message ID 1\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (1236 bytes)\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (276 bytes)\n[IKE] retransmit 3 of request with message ID 1\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (1236 bytes)\n[NET] sending packet: from 172.19.0.2[4500] to 194.226.121.150[4500] (276 bytes)\n",
"established": 0,
"catalogOnline": 0
}
],
"certificateTool": "OpenSSL 3.5.7 9 Jun 2026 (Library: OpenSSL 3.5.7 9 Jun 2026)",
"dockerCleanup": true,
"credentialFilesRemoved": true
},
"firstImportFailure": {
"date": "2026-10-11",
"block": "12.5.128",
"name": "mm-ipsec128-1791662089209",
"linux": [
{
"variant": "certificate-derived",
"initiated": true,
"vip": "198.18.128.249",
"ping3of3": true,
"native": [
{
"id": "CN=mm-ipsec128-1791662089209-client",
"state": "established",
"vip": "198.18.128.249"
}
],
"catalog": {
"online": true,
"activeAddress": "198.18.128.249"
}
}
],
"cleanup": [],
"clientImage": "sha256:c9d01c801de88b2349f685c1cb631e67a8b1c697439a00148d4045c23a584054",
"subject": {
"derHex": "302b3129302706035504030c206d6d2d69707365633132382d313739313636323038393230392d636c69656e74",
"attributes": [
{
"oidHex": "550403",
"stringTag": 12,
"value": "mm-ipsec128-1791662089209-client"
}
],
"san": "X509v3 Subject Alternative Name: \n DNS:mm-ipsec128-1791662089209.example"
},
"lifecycle": [
{
"phase": "valid-control",
"established": 1,
"online": true,
"vip": "198.18.128.249",
"addressList": [
"127.0.0.1",
"::1",
"172.19.0.2",
"198.18.128.249"
],
"ping3of3": true,
"sas": [
{
"spi": "0xB5FCFA8F",
"state": "mature",
"src": "161.104.46.222:4500",
"dst": "194.226.121.150:4500"
},
{
"spi": "0xC85163E5",
"state": "mature",
"src": "194.226.121.150:4500",
"dst": "161.104.46.222:4500"
}
],
"attempts": [
{
"attempt": 1,
"success": true,
"output": "PING 198.18.128.1 (198.18.128.1) from 198.18.128.249 : 56(84) bytes of data.\n64 bytes from 198.18.128.1: icmp_seq=1 ttl=64 time=2.56 ms\n64 bytes from 198.18.128.1: icmp_seq=2 ttl=64 time=2.79 ms\n64 bytes from 198.18.128.1: icmp_seq=3 ttl=64 time=2.74 ms\n\n--- 198.18.128.1 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 2004ms\nrtt min/avg/max/mdev = 2.559/2.697/2.790/0.099 ms\n"
}
]
}
],
"invalidCertificates": [],
"certificateTool": "OpenSSL 3.5.7 9 Jun 2026 (Library: OpenSSL 3.5.7 9 Jun 2026)",
"error": "Expected values to be strictly equal:\n\n0 !== 1\n",
"routerAuthLogs": [
"ipsec identity added by api:admin@:: (*A = /ip ipsec identity add auth-method=digital-signature certificate=mm-ipsec128-1791662089209-server comment=mm-ipsec128-1791662089209 generate-policy=port-strict match-by=certificate mode-config=mm-ipsec128-1791662089209 peer=mm-ipsec128-1791662089209 policy-template-group=mm-ipsec128-1791662089209 remote-certificate=mm-ipsec128-1791662089209-client)",
"mm-ipsec128-1791662089209: => certificate (size 0x36f)",
"add file by api:admin@:: (*0 = /file add contents=\"-----BEGIN CERTIFICATE-----\\; \\nMIIDazCCAlOgAwIBAgIIbYFwrYx5TFowDQYJKoZIhvcNAQELBQAwJzElMCMGA1UE\\; \\nAwwcbW0taXBzZWMxMjgtMTc5MTY2MjA4OTIwOS1jYTAeFw0yNjEwMTAxNjU0NTha\\; \\nFw0yNjEwMTAxNzU0NThaMCsxKTAnBgNVBAMMIG1tLWlwc2VjMTI4LTE3OTE2NjIw\\; \\nODkyMDktY2xpZW50MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtPXu\\; \\nHIQrqGfPZdr1HS+RM3KbHTmy9ZFDvJ8Sae82F9I675HFr/OtaX2vJLxevJGK8BeQ\\; \\n2lqZElh3Qc33P+Q1vkWSja6wa0plR4IZF7ls3OJcz7AOmpYRoWLFlDEV4MlWCbBZ\\; \\ncmZMqzNfRCTT5mwVxEr6ebdSvUKzSnRus/3Fu1AxMy+slmTO4Rf2QhktaneWPV7a\\; \\nr4n01GfRB9HpC5eUwUyOiaNQodEscuOMwkeOK+EeaL79nlHl18Kk5anPSHzYaOd3\\; \\nB+jrYgFQZSQbZa5uQudPubx2KNGhipQjnY0NRzctJWqztSHnqzVlkhxEf9xokEGG\\; \\nKT0MW+36A4v4MH7irwIDAQABo4GWMIGTMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUE\\; \\nDDAKBggrBgEFBQcDAjAdBgNVHQ4EFgQUGa7aG9eI3r5yJ4CmolPOQl1sgUEwHwYD\\; \\nVR0jBBgwFoAUCTCSlBxtyr+DqBpmBTKW4lOvMNEwLAYDVR0RBCUwI4IhbW0taXBz\\; \\nZWMxMjgtMTc5MTY2MjA4OTIwOS5leGFtcGxlMA0GCSqGSIb3DQEBCwUAA4IBA",
"QB6\\; \\nTEu04xdA/mn9M/mEd9UPkFDuOhEUsqqubHdXooU1qMo8J3W6FIS/9VUvIvzp1+KR\\; \\n7R+pzW7q8g6Eh7VNF8m54n8sevm4jQejRfANG8FeYq8OEOt/XCvigwBPgspd1iKo\\; \\nypAq7uysHlCD29txTezGyQoiNG1+fR3gZC8l+V9sJhizz6DOlSLMI0MPRNX/7itU\\; \\n0AN4XByrlPfT+iNkyEsWxSiXb0SsSCrLtK2ae0vtIsM2HiljU2yv0XPixufukMmL\\; \\nZEFSRfqcYPozeCikHHQHV+bXZD9m1o3kE+3GsniZ4ZIK4BQOZMOTSqJOi6sdwacP\\; \\nMjdapaYcIDfc2077Iz/1\\; \\n-----END CERTIFICATE-----\\; \\n\" name=flash/mm-ipsec128-1791662089209-expired.crt)"
]
},
"ownershipRecovery": {
"name": "mm-ipsec128-1791662089209",
"before": [
{
".id": "*E8",
"name": "mm-ipsec128-1791662089209-ca",
"issued": "false",
"crl": "false"
},
{
".id": "*E9",
"name": "mm-ipsec128-1791662089209-server",
"ca": "mm-ipsec128-1791662089209-ca",
"issued": "true",
"crl": "false"
},
{
".id": "*EA",
"name": "mm-ipsec128-1791662089209-client",
"ca": "mm-ipsec128-1791662089209-ca",
"issued": "true",
"crl": "false"
}
],
"deletedCaId": "*E8",
"cascadeChildrenVerifiedOwned": true,
"certificatesRemoved": true,
"crlsRemoved": true,
"privateDirectoryRemoved": true,
"settingsRestored": true
},
"diagnosticAttempt": {
"fixtureAuditBoundaryNotRetained": true,
"reason": "Read after cleanup could not establish fixture log boundary"
},
"bounds": [
"Valid original and same-key/CA renewed cert both connect/Ping3of3",
"Expired/not-yet-valid client certs do not establish within30s; IKE_AUTH retransmits without explicit AUTH_FAILED",
"No device/system clock changes; dates encoded by OpenSSL3.5.7 in own certs",
"Temporary CA-trust identity with no exact remote cert pin permits renewed control; server certificate remains pinned, RSA/crypto unchanged",
"Initial import created zero new certs, exact import reason unproven; file ownership cleanup stopped and scoped recovery completed",
"This is not acceptance of exact server expiry diagnosis; capture auth logs during each phase in129"
],
"cleanupCorrection130": {
"residualRule": {
"name": "mm-ipsec128-1791662089209",
"deletedId": "*21",
"ownershipByExactPrefixTopicsAction": true,
"allOtherRulesUnchanged": true,
"defaultLogNotCleared": true
},
"baselineComparisonIncludedOwnResidual128": true,
"nowRemoved": true
}
}