mirror of
https://github.com/arendst/Tasmota.git
synced 2026-02-20 00:32:32 +01:00
Matter move certs to Berry (#24437)
This commit is contained in:
@@ -275,7 +275,9 @@ static void m_solidify_bvalue(bvm *vm, bbool str_literal, const bvalue * value,
|
||||
|
||||
char * hex_out = be_pushbuffer(vm, hex_len);
|
||||
be_bytes_tohex(hex_out, hex_len, bufptr, len);
|
||||
logfmt("be_const_bytes_instance(%s)", hex_out);
|
||||
lognofmt("be_const_bytes_instance(");
|
||||
lognofmt(hex_out);
|
||||
lognofmt(")");
|
||||
be_pop(vm, 1);
|
||||
} else if (ins->super || ins->sub) {
|
||||
be_raise(vm, "internal_error", "instance must not have a super/sub class");
|
||||
|
||||
@@ -1,351 +0,0 @@
|
||||
// Certificates and credentials from demo
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
const uint8_t kDevelopmentPAI_Cert_FFF1[463] = {
|
||||
0x30, 0x82, 0x01, 0xcb, 0x30, 0x82, 0x01, 0x71, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x56, 0xad, 0x82, 0x22, 0xad, 0x94,
|
||||
0x5b, 0x64, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x30, 0x31, 0x18, 0x30, 0x16, 0x06,
|
||||
0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x41,
|
||||
0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46,
|
||||
0x31, 0x30, 0x20, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x32, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f, 0x39,
|
||||
0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x3d, 0x31, 0x25, 0x30, 0x23, 0x06,
|
||||
0x03, 0x55, 0x04, 0x03, 0x0c, 0x1c, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x44, 0x65, 0x76, 0x20, 0x50, 0x41, 0x49, 0x20,
|
||||
0x30, 0x78, 0x46, 0x46, 0x46, 0x31, 0x20, 0x6e, 0x6f, 0x20, 0x50, 0x49, 0x44, 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06,
|
||||
0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, 0x31, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
|
||||
0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x41,
|
||||
0x9a, 0x93, 0x15, 0xc2, 0x17, 0x3e, 0x0c, 0x8c, 0x87, 0x6d, 0x03, 0xcc, 0xfc, 0x94, 0x48, 0x52, 0x64, 0x7f, 0x7f, 0xec, 0x5e,
|
||||
0x50, 0x82, 0xf4, 0x05, 0x99, 0x28, 0xec, 0xa8, 0x94, 0xc5, 0x94, 0x15, 0x13, 0x09, 0xac, 0x63, 0x1e, 0x4c, 0xb0, 0x33, 0x92,
|
||||
0xaf, 0x68, 0x4b, 0x0b, 0xaf, 0xb7, 0xe6, 0x5b, 0x3b, 0x81, 0x62, 0xc2, 0xf5, 0x2b, 0xf9, 0x31, 0xb8, 0xe7, 0x7a, 0xaa, 0x82,
|
||||
0xa3, 0x66, 0x30, 0x64, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff,
|
||||
0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d,
|
||||
0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x63, 0x54, 0x0e, 0x47, 0xf6, 0x4b, 0x1c, 0x38, 0xd1, 0x38, 0x84, 0xa4,
|
||||
0x62, 0xd1, 0x6c, 0x19, 0x5d, 0x8f, 0xfb, 0x3c, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14,
|
||||
0x6a, 0xfd, 0x22, 0x77, 0x1f, 0x51, 0x1f, 0xec, 0xbf, 0x16, 0x41, 0x97, 0x67, 0x10, 0xdc, 0xdc, 0x31, 0xa1, 0x71, 0x7e, 0x30,
|
||||
0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0xb2, 0xef,
|
||||
0x27, 0xf4, 0x9a, 0xe9, 0xb5, 0x0f, 0xb9, 0x1e, 0xea, 0xc9, 0x4c, 0x4d, 0x0b, 0xdb, 0xb8, 0xd7, 0x92, 0x9c, 0x6c, 0xb8, 0x8f,
|
||||
0xac, 0xe5, 0x29, 0x36, 0x8d, 0x12, 0x05, 0x4c, 0x0c, 0x02, 0x20, 0x65, 0x5d, 0xc9, 0x2b, 0x86, 0xbd, 0x90, 0x98, 0x82, 0xa6,
|
||||
0xc6, 0x21, 0x77, 0xb8, 0x25, 0xd7, 0xd0, 0x5e, 0xdb, 0xe7, 0xc2, 0x2f, 0x9f, 0xea, 0x71, 0x22, 0x0e, 0x7e, 0xa7, 0x03, 0xf8,
|
||||
0x91,
|
||||
};
|
||||
|
||||
const uint8_t kDevelopmentPAI_PublicKey_FFF1[65] = {
|
||||
0x04, 0x41, 0x9a, 0x93, 0x15, 0xc2, 0x17, 0x3e, 0x0c, 0x8c, 0x87, 0x6d, 0x03, 0xcc, 0xfc, 0x94, 0x48,
|
||||
0x52, 0x64, 0x7f, 0x7f, 0xec, 0x5e, 0x50, 0x82, 0xf4, 0x05, 0x99, 0x28, 0xec, 0xa8, 0x94, 0xc5, 0x94,
|
||||
0x15, 0x13, 0x09, 0xac, 0x63, 0x1e, 0x4c, 0xb0, 0x33, 0x92, 0xaf, 0x68, 0x4b, 0x0b, 0xaf, 0xb7, 0xe6,
|
||||
0x5b, 0x3b, 0x81, 0x62, 0xc2, 0xf5, 0x2b, 0xf9, 0x31, 0xb8, 0xe7, 0x7a, 0xaa, 0x82,
|
||||
};
|
||||
const uint8_t kDevelopmentPAI_PrivateKey_FFF1[32] = {
|
||||
0xc1, 0xab, 0x5f, 0xe2, 0x84, 0xb4, 0xc1, 0x89, 0x40, 0xa5, 0x31, 0x61, 0xf8, 0x06, 0x94, 0x40,
|
||||
0x50, 0xa1, 0x69, 0x7b, 0x71, 0x76, 0x1d, 0x38, 0x53, 0x37, 0xa8, 0xa3, 0xcd, 0x09, 0x5c, 0x34,
|
||||
};
|
||||
|
||||
/*
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
56:ad:82:22:ad:94:5b:64
|
||||
Signature Algorithm: ecdsa-with-SHA256
|
||||
Issuer: CN = Matter Test PAA, 1.3.6.1.4.1.37244.2.1 = FFF1
|
||||
Validity
|
||||
Not Before: Feb 5 00:00:00 2022 GMT
|
||||
Not After : Dec 31 23:59:59 9999 GMT
|
||||
Subject: CN = Matter Dev PAI 0xFFF1 no PID, 1.3.6.1.4.1.37244.2.1 = FFF1
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: id-ecPublicKey
|
||||
Public-Key: (256 bit)
|
||||
pub:
|
||||
04:41:9a:93:15:c2:17:3e:0c:8c:87:6d:03:cc:fc:
|
||||
94:48:52:64:7f:7f:ec:5e:50:82:f4:05:99:28:ec:
|
||||
a8:94:c5:94:15:13:09:ac:63:1e:4c:b0:33:92:af:
|
||||
68:4b:0b:af:b7:e6:5b:3b:81:62:c2:f5:2b:f9:31:
|
||||
b8:e7:7a:aa:82
|
||||
ASN1 OID: prime256v1
|
||||
NIST CURVE: P-256
|
||||
X509v3 extensions:
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:TRUE, pathlen:0
|
||||
X509v3 Key Usage: critical
|
||||
Certificate Sign, CRL Sign
|
||||
X509v3 Subject Key Identifier:
|
||||
63:54:0E:47:F6:4B:1C:38:D1:38:84:A4:62:D1:6C:19:5D:8F:FB:3C
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:6A:FD:22:77:1F:51:1F:EC:BF:16:41:97:67:10:DC:DC:31:A1:71:7E
|
||||
|
||||
Signature Algorithm: ecdsa-with-SHA256
|
||||
30:45:02:21:00:b2:ef:27:f4:9a:e9:b5:0f:b9:1e:ea:c9:4c:
|
||||
4d:0b:db:b8:d7:92:9c:6c:b8:8f:ac:e5:29:36:8d:12:05:4c:
|
||||
0c:02:20:65:5d:c9:2b:86:bd:90:98:82:a6:c6:21:77:b8:25:
|
||||
d7:d0:5e:db:e7:c2:2f:9f:ea:71:22:0e:7e:a7:03:f8:91
|
||||
*/
|
||||
|
||||
/*
|
||||
ASN.1
|
||||
|
||||
SEQUENCE (3 elem)
|
||||
SEQUENCE (8 elem)
|
||||
[0] (1 elem)
|
||||
INTEGER 2
|
||||
INTEGER (63 bit) 6245791343685426020
|
||||
SEQUENCE (1 elem)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.4.3.2 ecdsaWithSHA256 (ANSI X9.62 ECDSA algorithm with SHA256)
|
||||
SEQUENCE (2 elem)
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.4.3 commonName (X.520 DN component)
|
||||
UTF8String Matter Test PAA
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 1.3.6.1.4.1.37244.2.1
|
||||
UTF8String FFF1
|
||||
SEQUENCE (2 elem)
|
||||
UTCTime 2022-02-05 00:00:00 UTC
|
||||
GeneralizedTime 9999-12-31 23:59:59 UTC
|
||||
SEQUENCE (2 elem)
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.4.3 commonName (X.520 DN component)
|
||||
UTF8String Matter Dev PAI 0xFFF1 no PID
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 1.3.6.1.4.1.37244.2.1
|
||||
UTF8String FFF1
|
||||
SEQUENCE (2 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.2.1 ecPublicKey (ANSI X9.62 public key type)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.3.1.7 prime256v1 (ANSI X9.62 named elliptic curve)
|
||||
BIT STRING (520 bit) 0000010001000001100110101001001100010101110000100001011100111110000011…
|
||||
[3] (1 elem)
|
||||
SEQUENCE (4 elem)
|
||||
SEQUENCE (3 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.19 basicConstraints (X.509 extension)
|
||||
BOOLEAN true
|
||||
OCTET STRING (8 byte) 30060101FF020100
|
||||
SEQUENCE (2 elem)
|
||||
BOOLEAN true
|
||||
INTEGER 0
|
||||
SEQUENCE (3 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.15 keyUsage (X.509 extension)
|
||||
BOOLEAN true
|
||||
OCTET STRING (4 byte) 03020106
|
||||
BIT STRING (7 bit) 0000011
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.14 subjectKeyIdentifier (X.509 extension)
|
||||
OCTET STRING (22 byte) 041463540E47F64B1C38D13884A462D16C195D8FFB3C
|
||||
OCTET STRING (20 byte) 63540E47F64B1C38D13884A462D16C195D8FFB3C
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.35 authorityKeyIdentifier (X.509 extension)
|
||||
OCTET STRING (24 byte) 301680146AFD22771F511FECBF1641976710DCDC31A1717E
|
||||
SEQUENCE (1 elem)
|
||||
[0] (20 byte) 6AFD22771F511FECBF1641976710DCDC31A1717E
|
||||
SEQUENCE (1 elem)
|
||||
Offset: 377
|
||||
Length: 2+10
|
||||
(constructed)
|
||||
Value:
|
||||
(1 elem)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.4.3.2 ecdsaWithSHA256 (ANSI X9.62 ECDSA algorithm with SHA256)
|
||||
BIT STRING (568 bit) 0011000001000101000000100010000100000000101100101110111100100111111101…
|
||||
SEQUENCE (2 elem)
|
||||
INTEGER (256 bit) 8093423925895219711386938045632983408737245943652937189339272815747009…
|
||||
INTEGER (255 bit) 4584930290841753608947726397552150715869097421278636946745345682393985…
|
||||
*/
|
||||
|
||||
const uint8_t kDevelopmentDAC_Cert_FFF1_8000[493] = {
|
||||
0x30, 0x82, 0x01, 0xe9, 0x30, 0x82, 0x01, 0x8e, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x23, 0x8a, 0x64, 0x7b, 0xbc, 0x4c,
|
||||
0x30, 0xdd, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x3d, 0x31, 0x25, 0x30, 0x23, 0x06,
|
||||
0x03, 0x55, 0x04, 0x03, 0x0c, 0x1c, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x44, 0x65, 0x76, 0x20, 0x50, 0x41, 0x49, 0x20,
|
||||
0x30, 0x78, 0x46, 0x46, 0x46, 0x31, 0x20, 0x6e, 0x6f, 0x20, 0x50, 0x49, 0x44, 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06,
|
||||
0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, 0x31, 0x30, 0x20, 0x17, 0x0d, 0x32, 0x32, 0x30,
|
||||
0x32, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f, 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32,
|
||||
0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x53, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x1c, 0x4d, 0x61,
|
||||
0x74, 0x74, 0x65, 0x72, 0x20, 0x44, 0x65, 0x76, 0x20, 0x44, 0x41, 0x43, 0x20, 0x30, 0x78, 0x46, 0x46, 0x46, 0x31, 0x2f, 0x30,
|
||||
0x78, 0x38, 0x30, 0x30, 0x30, 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01,
|
||||
0x0c, 0x04, 0x46, 0x46, 0x46, 0x31, 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02,
|
||||
0x02, 0x0c, 0x04, 0x38, 0x30, 0x30, 0x30, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06,
|
||||
0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x62, 0xdb, 0x16, 0xba, 0xde, 0xa3, 0x26, 0xa6,
|
||||
0xdb, 0x84, 0x81, 0x4a, 0x06, 0x3f, 0xc6, 0xc7, 0xe9, 0xe2, 0xb1, 0x01, 0xb7, 0x21, 0x64, 0x8e, 0xba, 0x4e, 0x5a, 0xc8, 0x40,
|
||||
0xf5, 0xda, 0x30, 0x1e, 0xe6, 0x18, 0x12, 0x4e, 0xb4, 0x18, 0x0e, 0x2f, 0xc3, 0xa2, 0x04, 0x7a, 0x56, 0x4b, 0xa9, 0xbc, 0xfa,
|
||||
0x0b, 0xf7, 0x1f, 0x60, 0xce, 0x89, 0x30, 0xf1, 0xe7, 0xf6, 0x6e, 0xc8, 0xd7, 0x28, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06,
|
||||
0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff,
|
||||
0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xbc, 0xf7, 0xb0, 0x07,
|
||||
0x49, 0x70, 0x63, 0x60, 0x6a, 0x26, 0xbe, 0x4e, 0x08, 0x7c, 0x59, 0x56, 0x87, 0x74, 0x5a, 0x5a, 0x30, 0x1f, 0x06, 0x03, 0x55,
|
||||
0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x63, 0x54, 0x0e, 0x47, 0xf6, 0x4b, 0x1c, 0x38, 0xd1, 0x38, 0x84, 0xa4, 0x62,
|
||||
0xd1, 0x6c, 0x19, 0x5d, 0x8f, 0xfb, 0x3c, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49,
|
||||
0x00, 0x30, 0x46, 0x02, 0x21, 0x00, 0x97, 0x97, 0x11, 0xec, 0x9e, 0x76, 0x18, 0xce, 0x41, 0x80, 0x11, 0x32, 0xc2, 0x50, 0xdb,
|
||||
0x70, 0x76, 0x74, 0x63, 0x0c, 0xd5, 0x8c, 0x12, 0xc6, 0xe2, 0x31, 0x5f, 0x08, 0xd0, 0x1e, 0xe1, 0x78, 0x02, 0x21, 0x00, 0xec,
|
||||
0xfc, 0x13, 0x06, 0xbd, 0x2a, 0x13, 0x3d, 0x12, 0x2a, 0x27, 0x86, 0x10, 0xea, 0x3d, 0xca, 0x47, 0xf0, 0x5c, 0x7a, 0x8b, 0x80,
|
||||
0x5f, 0xa7, 0x1c, 0x6f, 0xf4, 0x15, 0x38, 0xa8, 0x64, 0xc8,
|
||||
};
|
||||
|
||||
/*
|
||||
Decoded cert: openssl x509 -inform der -in DAC_Cert_FFF1_8000.der -text -noout
|
||||
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
23:8a:64:7b:bc:4c:30:dd
|
||||
Signature Algorithm: ecdsa-with-SHA256
|
||||
Issuer: CN = Matter Dev PAI 0xFFF1 no PID, 1.3.6.1.4.1.37244.2.1 = FFF1
|
||||
Validity
|
||||
Not Before: Feb 5 00:00:00 2022 GMT
|
||||
Not After : Dec 31 23:59:59 9999 GMT
|
||||
Subject: CN = Matter Dev DAC 0xFFF1/0x8000, 1.3.6.1.4.1.37244.2.1 = FFF1, 1.3.6.1.4.1.37244.2.2 = 8000
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: id-ecPublicKey
|
||||
Public-Key: (256 bit)
|
||||
pub:
|
||||
04:62:db:16:ba:de:a3:26:a6:db:84:81:4a:06:3f:
|
||||
c6:c7:e9:e2:b1:01:b7:21:64:8e:ba:4e:5a:c8:40:
|
||||
f5:da:30:1e:e6:18:12:4e:b4:18:0e:2f:c3:a2:04:
|
||||
7a:56:4b:a9:bc:fa:0b:f7:1f:60:ce:89:30:f1:e7:
|
||||
f6:6e:c8:d7:28
|
||||
ASN1 OID: prime256v1
|
||||
NIST CURVE: P-256
|
||||
X509v3 extensions:
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:FALSE
|
||||
X509v3 Key Usage: critical
|
||||
Digital Signature
|
||||
X509v3 Subject Key Identifier:
|
||||
BC:F7:B0:07:49:70:63:60:6A:26:BE:4E:08:7C:59:56:87:74:5A:5A
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:63:54:0E:47:F6:4B:1C:38:D1:38:84:A4:62:D1:6C:19:5D:8F:FB:3C
|
||||
|
||||
Signature Algorithm: ecdsa-with-SHA256
|
||||
30:46:02:21:00:97:97:11:ec:9e:76:18:ce:41:80:11:32:c2:
|
||||
50:db:70:76:74:63:0c:d5:8c:12:c6:e2:31:5f:08:d0:1e:e1:
|
||||
78:02:21:00:ec:fc:13:06:bd:2a:13:3d:12:2a:27:86:10:ea:
|
||||
3d:ca:47:f0:5c:7a:8b:80:5f:a7:1c:6f:f4:15:38:a8:64:c8
|
||||
|
||||
*/
|
||||
|
||||
/* Decoded ASN.1
|
||||
|
||||
SEQUENCE (3 elem)
|
||||
SEQUENCE (8 elem)
|
||||
[0] (1 elem)
|
||||
INTEGER 2
|
||||
INTEGER (62 bit) 2560969820716413149
|
||||
SEQUENCE (1 elem)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.4.3.2 ecdsaWithSHA256 (ANSI X9.62 ECDSA algorithm with SHA256)
|
||||
SEQUENCE (2 elem)
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.4.3 commonName (X.520 DN component)
|
||||
UTF8String Matter Dev PAI 0xFFF1 no PID
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 1.3.6.1.4.1.37244.2.1
|
||||
UTF8String FFF1
|
||||
SEQUENCE (2 elem)
|
||||
UTCTime 2022-02-05 00:00:00 UTC
|
||||
GeneralizedTime 9999-12-31 23:59:59 UTC
|
||||
SEQUENCE (3 elem)
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.4.3 commonName (X.520 DN component)
|
||||
UTF8String Matter Dev DAC 0xFFF1/0x8000
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 1.3.6.1.4.1.37244.2.1
|
||||
UTF8String FFF1
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 1.3.6.1.4.1.37244.2.2
|
||||
UTF8String 8000
|
||||
SEQUENCE (2 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.2.1 ecPublicKey (ANSI X9.62 public key type)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.3.1.7 prime256v1 (ANSI X9.62 named elliptic curve)
|
||||
BIT STRING (520 bit) 0000010001100010110110110001011010111010110111101010001100100110101001…
|
||||
[3] (1 elem)
|
||||
SEQUENCE (4 elem)
|
||||
SEQUENCE (3 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.19 basicConstraints (X.509 extension)
|
||||
BOOLEAN true
|
||||
OCTET STRING (2 byte) 3000
|
||||
SEQUENCE (0 elem)
|
||||
SEQUENCE (3 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.15 keyUsage (X.509 extension)
|
||||
BOOLEAN true
|
||||
OCTET STRING (4 byte) 03020780
|
||||
BIT STRING (1 bit) 1
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.14 subjectKeyIdentifier (X.509 extension)
|
||||
OCTET STRING (22 byte) 0414BCF7B007497063606A26BE4E087C595687745A5A
|
||||
OCTET STRING (20 byte) BCF7B007497063606A26BE4E087C595687745A5A
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.35 authorityKeyIdentifier (X.509 extension)
|
||||
OCTET STRING (24 byte) 3016801463540E47F64B1C38D13884A462D16C195D8FFB3C
|
||||
SEQUENCE (1 elem)
|
||||
[0] (20 byte) 63540E47F64B1C38D13884A462D16C195D8FFB3C
|
||||
SEQUENCE (1 elem)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.4.3.2 ecdsaWithSHA256 (ANSI X9.62 ECDSA algorithm with SHA256)
|
||||
BIT STRING (576 bit) 0011000001000110000000100010000100000000100101111001011100010001111011…
|
||||
SEQUENCE (2 elem)
|
||||
INTEGER (256 bit) 6856615775177799389454949658700013485116050405241433595512074226650010…
|
||||
INTEGER (256 bit) 1071912090408366213691559168363210336766445086127676108978024779974417…
|
||||
*/
|
||||
|
||||
const uint8_t kDevelopmentDAC_PublicKey_FFF1_8000[65] = {
|
||||
0x04, 0x62, 0xdb, 0x16, 0xba, 0xde, 0xa3, 0x26, 0xa6, 0xdb, 0x84, 0x81, 0x4a, 0x06, 0x3f, 0xc6, 0xc7,
|
||||
0xe9, 0xe2, 0xb1, 0x01, 0xb7, 0x21, 0x64, 0x8e, 0xba, 0x4e, 0x5a, 0xc8, 0x40, 0xf5, 0xda, 0x30, 0x1e,
|
||||
0xe6, 0x18, 0x12, 0x4e, 0xb4, 0x18, 0x0e, 0x2f, 0xc3, 0xa2, 0x04, 0x7a, 0x56, 0x4b, 0xa9, 0xbc, 0xfa,
|
||||
0x0b, 0xf7, 0x1f, 0x60, 0xce, 0x89, 0x30, 0xf1, 0xe7, 0xf6, 0x6e, 0xc8, 0xd7, 0x28,
|
||||
};
|
||||
|
||||
const uint8_t kDevelopmentDAC_PrivateKey_FFF1_8000[32] = {
|
||||
0xcc, 0xcf, 0x9d, 0xc7, 0x05, 0x0e, 0xf5, 0xd9, 0x0b, 0xe4, 0x57, 0x07, 0xb9, 0x0e, 0x1f, 0x87,
|
||||
0x5d, 0x59, 0xbe, 0x1f, 0xa9, 0x42, 0xe8, 0xed, 0x2e, 0x42, 0x72, 0x03, 0xf6, 0xc2, 0xee, 0x3d,
|
||||
};
|
||||
|
||||
/* CertificationDeclaration */
|
||||
//-> format_version = 1
|
||||
//-> vendor_id = 0xFFF1
|
||||
//-> product_id_array = [ 0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007, 0x8008, 0x8009, 0x800A, 0x800B,
|
||||
// 0x800C, 0x800D, 0x800E, 0x800F, 0x8010, 0x8011, 0x8012, 0x8013, 0x8014, 0x8015, 0x8016, 0x8017, 0x8018, 0x8019, 0x801A,
|
||||
// 0x801B, 0x801C, 0x801D, 0x801E, 0x801F, 0x8020, 0x8021, 0x8022, 0x8023, 0x8024, 0x8025, 0x8026, 0x8027, 0x8028, 0x8029,
|
||||
// 0x802A, 0x802B, 0x802C, 0x802D, 0x802E, 0x802F, 0x8030, 0x8031, 0x8032, 0x8033, 0x8034, 0x8035, 0x8036, 0x8037, 0x8038,
|
||||
// 0x8039, 0x803A, 0x803B, 0x803C, 0x803D, 0x803E, 0x803F, 0x8040, 0x8041, 0x8042, 0x8043, 0x8044, 0x8045, 0x8046, 0x8047,
|
||||
// 0x8048, 0x8049, 0x804A, 0x804B, 0x804C, 0x804D, 0x804E, 0x804F, 0x8050, 0x8051, 0x8052, 0x8053, 0x8054, 0x8055, 0x8056,
|
||||
// 0x8057, 0x8058, 0x8059, 0x805A, 0x805B, 0x805C, 0x805D, 0x805E, 0x805F, 0x8060, 0x8061, 0x8062, 0x8063 ]
|
||||
//-> device_type_id = 0x0016
|
||||
//-> certificate_id = "CSA00000SWC00000-00"
|
||||
//-> security_level = 0
|
||||
//-> security_information = 0
|
||||
//-> version_number = 1
|
||||
//-> certification_type = 0
|
||||
//-> dac_origin_vendor_id is not present
|
||||
//-> dac_origin_product_id is not present
|
||||
const uint8_t kCdForAllExamples[539] = {
|
||||
0x30, 0x82, 0x02, 0x17, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x02, 0xa0, 0x82, 0x02, 0x08, 0x30,
|
||||
0x82, 0x02, 0x04, 0x02, 0x01, 0x03, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02,
|
||||
0x01, 0x30, 0x82, 0x01, 0x70, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x01, 0x61,
|
||||
0x04, 0x82, 0x01, 0x5d, 0x15, 0x24, 0x00, 0x01, 0x25, 0x01, 0xf1, 0xff, 0x36, 0x02, 0x05, 0x00, 0x80, 0x05, 0x01, 0x80,
|
||||
0x05, 0x02, 0x80, 0x05, 0x03, 0x80, 0x05, 0x04, 0x80, 0x05, 0x05, 0x80, 0x05, 0x06, 0x80, 0x05, 0x07, 0x80, 0x05, 0x08,
|
||||
0x80, 0x05, 0x09, 0x80, 0x05, 0x0a, 0x80, 0x05, 0x0b, 0x80, 0x05, 0x0c, 0x80, 0x05, 0x0d, 0x80, 0x05, 0x0e, 0x80, 0x05,
|
||||
0x0f, 0x80, 0x05, 0x10, 0x80, 0x05, 0x11, 0x80, 0x05, 0x12, 0x80, 0x05, 0x13, 0x80, 0x05, 0x14, 0x80, 0x05, 0x15, 0x80,
|
||||
0x05, 0x16, 0x80, 0x05, 0x17, 0x80, 0x05, 0x18, 0x80, 0x05, 0x19, 0x80, 0x05, 0x1a, 0x80, 0x05, 0x1b, 0x80, 0x05, 0x1c,
|
||||
0x80, 0x05, 0x1d, 0x80, 0x05, 0x1e, 0x80, 0x05, 0x1f, 0x80, 0x05, 0x20, 0x80, 0x05, 0x21, 0x80, 0x05, 0x22, 0x80, 0x05,
|
||||
0x23, 0x80, 0x05, 0x24, 0x80, 0x05, 0x25, 0x80, 0x05, 0x26, 0x80, 0x05, 0x27, 0x80, 0x05, 0x28, 0x80, 0x05, 0x29, 0x80,
|
||||
0x05, 0x2a, 0x80, 0x05, 0x2b, 0x80, 0x05, 0x2c, 0x80, 0x05, 0x2d, 0x80, 0x05, 0x2e, 0x80, 0x05, 0x2f, 0x80, 0x05, 0x30,
|
||||
0x80, 0x05, 0x31, 0x80, 0x05, 0x32, 0x80, 0x05, 0x33, 0x80, 0x05, 0x34, 0x80, 0x05, 0x35, 0x80, 0x05, 0x36, 0x80, 0x05,
|
||||
0x37, 0x80, 0x05, 0x38, 0x80, 0x05, 0x39, 0x80, 0x05, 0x3a, 0x80, 0x05, 0x3b, 0x80, 0x05, 0x3c, 0x80, 0x05, 0x3d, 0x80,
|
||||
0x05, 0x3e, 0x80, 0x05, 0x3f, 0x80, 0x05, 0x40, 0x80, 0x05, 0x41, 0x80, 0x05, 0x42, 0x80, 0x05, 0x43, 0x80, 0x05, 0x44,
|
||||
0x80, 0x05, 0x45, 0x80, 0x05, 0x46, 0x80, 0x05, 0x47, 0x80, 0x05, 0x48, 0x80, 0x05, 0x49, 0x80, 0x05, 0x4a, 0x80, 0x05,
|
||||
0x4b, 0x80, 0x05, 0x4c, 0x80, 0x05, 0x4d, 0x80, 0x05, 0x4e, 0x80, 0x05, 0x4f, 0x80, 0x05, 0x50, 0x80, 0x05, 0x51, 0x80,
|
||||
0x05, 0x52, 0x80, 0x05, 0x53, 0x80, 0x05, 0x54, 0x80, 0x05, 0x55, 0x80, 0x05, 0x56, 0x80, 0x05, 0x57, 0x80, 0x05, 0x58,
|
||||
0x80, 0x05, 0x59, 0x80, 0x05, 0x5a, 0x80, 0x05, 0x5b, 0x80, 0x05, 0x5c, 0x80, 0x05, 0x5d, 0x80, 0x05, 0x5e, 0x80, 0x05,
|
||||
0x5f, 0x80, 0x05, 0x60, 0x80, 0x05, 0x61, 0x80, 0x05, 0x62, 0x80, 0x05, 0x63, 0x80, 0x18, 0x24, 0x03, 0x16, 0x2c, 0x04,
|
||||
0x13, 0x43, 0x53, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x53, 0x57, 0x43, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2d, 0x30, 0x30,
|
||||
0x24, 0x05, 0x00, 0x24, 0x06, 0x00, 0x24, 0x07, 0x01, 0x24, 0x08, 0x00, 0x18, 0x31, 0x7c, 0x30, 0x7a, 0x02, 0x01, 0x03,
|
||||
0x80, 0x14, 0xfe, 0x34, 0x3f, 0x95, 0x99, 0x47, 0x76, 0x3b, 0x61, 0xee, 0x45, 0x39, 0x13, 0x13, 0x38, 0x49, 0x4f, 0xe6,
|
||||
0x7d, 0x8e, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x30, 0x0a, 0x06, 0x08, 0x2a,
|
||||
0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x04, 0x46, 0x30, 0x44, 0x02, 0x20, 0x4a, 0x12, 0xf8, 0xd4, 0x2f, 0x90, 0x23,
|
||||
0x5c, 0x05, 0xa7, 0x71, 0x21, 0xcb, 0xeb, 0xae, 0x15, 0xd5, 0x90, 0x14, 0x65, 0x58, 0xe9, 0xc9, 0xb4, 0x7a, 0x1a, 0x38,
|
||||
0xf7, 0xa3, 0x6a, 0x7d, 0xc5, 0x02, 0x20, 0x20, 0xa4, 0x74, 0x28, 0x97, 0xc3, 0x0a, 0xed, 0xa0, 0xa5, 0x6b, 0x36, 0xe1,
|
||||
0x4e, 0xbb, 0xc8, 0x5b, 0xbd, 0xb7, 0x44, 0x93, 0xf9, 0x93, 0x58, 0x1e, 0xb0, 0x44, 0x4e, 0xd6, 0xca, 0x94, 0x0b
|
||||
};
|
||||
@@ -211,6 +211,7 @@ extern const bclass be_class_Matter_TLV; // need to declare it upfront because
|
||||
#include "solidify/solidified_Matter_Path_0.h"
|
||||
#include "solidify/solidified_Matter_Path_1_PathGenerator.h"
|
||||
#include "solidify/solidified_Matter_Path_1_EventGenerator.h"
|
||||
#include "solidify/solidified_Matter_Certs.h"
|
||||
#include "solidify/solidified_Matter_TLV.h"
|
||||
#include "solidify/solidified_Matter_IM_Data.h"
|
||||
#include "solidify/solidified_Matter_UDPServer.h"
|
||||
@@ -238,8 +239,6 @@ extern const bclass be_class_Matter_TLV; // need to declare it upfront because
|
||||
#include "solidify/solidified_Matter_UI.h"
|
||||
#include "solidify/solidified_Matter_Profiler.h"
|
||||
|
||||
#include "../generate/be_matter_certs.h"
|
||||
|
||||
#include "solidify/solidified_Matter_Plugin_1_Root.h"
|
||||
#include "solidify/solidified_Matter_Plugin_1_Aggregator.h"
|
||||
#include "solidify/solidified_Matter_Plugin_1_Device.h"
|
||||
@@ -306,26 +305,6 @@ extern const bclass be_class_Matter_TLV; // need to declare it upfront because
|
||||
#include "solidify/solidified_Matter_Plugin_z_All.h"
|
||||
#include "solidify/solidified_Matter_zz_Device.h"
|
||||
|
||||
/*********************************************************************************************\
|
||||
* Get a bytes() object of the certificate DAC/PAI_Cert
|
||||
\*********************************************************************************************/
|
||||
static int matter_return_static_bytes(bvm *vm, const uint8* addr, size_t len) {
|
||||
be_getbuiltin(vm, "bytes");
|
||||
be_pushcomptr(vm, addr);
|
||||
be_pushint(vm, - len);
|
||||
be_call(vm, 2);
|
||||
be_pop(vm, 2);
|
||||
be_return(vm);
|
||||
}
|
||||
static int matter_PAI_Cert_FFF1(bvm *vm) { return matter_return_static_bytes(vm, kDevelopmentPAI_Cert_FFF1, sizeof(kDevelopmentPAI_Cert_FFF1)); }
|
||||
static int matter_PAI_Pub_FFF1(bvm *vm) { return matter_return_static_bytes(vm, kDevelopmentPAI_PublicKey_FFF1, sizeof(kDevelopmentPAI_PublicKey_FFF1)); }
|
||||
static int matter_PAI_Priv_FFF1(bvm *vm) { return matter_return_static_bytes(vm, kDevelopmentPAI_PrivateKey_FFF1, sizeof(kDevelopmentPAI_PrivateKey_FFF1)); }
|
||||
static int matter_DAC_Cert_FFF1_8000(bvm *vm) { return matter_return_static_bytes(vm, kDevelopmentDAC_Cert_FFF1_8000, sizeof(kDevelopmentDAC_Cert_FFF1_8000)); }
|
||||
static int matter_DAC_Pub_FFF1_8000(bvm *vm) { return matter_return_static_bytes(vm, kDevelopmentDAC_PublicKey_FFF1_8000, sizeof(kDevelopmentDAC_PublicKey_FFF1_8000)); }
|
||||
static int matter_DAC_Priv_FFF1_8000(bvm *vm) { return matter_return_static_bytes(vm, kDevelopmentDAC_PrivateKey_FFF1_8000, sizeof(kDevelopmentDAC_PrivateKey_FFF1_8000)); }
|
||||
static int matter_CD_FFF1_8000(bvm *vm) { return matter_return_static_bytes(vm, kCdForAllExamples, sizeof(kCdForAllExamples)); }
|
||||
|
||||
|
||||
#include "be_fixed_matter.h"
|
||||
|
||||
/* @const_object_info_begin
|
||||
@@ -494,13 +473,7 @@ module matter (scope: global, strings: weak) {
|
||||
Device, class(be_class_Matter_Device)
|
||||
|
||||
// credentials from example
|
||||
PAI_Cert_FFF1, func(matter_PAI_Cert_FFF1)
|
||||
PAI_Pub_FFF1, func(matter_PAI_Pub_FFF1)
|
||||
PAI_Priv_FFF1, func(matter_PAI_Priv_FFF1)
|
||||
DAC_Cert_FFF1_8000, func(matter_DAC_Cert_FFF1_8000)
|
||||
DAC_Pub_FFF1_8000, func(matter_DAC_Pub_FFF1_8000)
|
||||
DAC_Priv_FFF1_8000, func(matter_DAC_Priv_FFF1_8000)
|
||||
CD_FFF1_8000, func(matter_CD_FFF1_8000) // Certification Declaration
|
||||
Certs, class(be_class_Matter_Certs)
|
||||
|
||||
// Plugins - only the core classes, all others are taken from `matter_device.plugins_classes`
|
||||
Plugin_Root, class(be_class_Matter_Plugin_Root) // Generic behavior common to all devices
|
||||
|
||||
354
lib/libesp32/berry_matter/src/embedded/Matter_Certs.be
Normal file
354
lib/libesp32/berry_matter/src/embedded/Matter_Certs.be
Normal file
@@ -0,0 +1,354 @@
|
||||
#
|
||||
# Matter_Certs.be - certificates and crypto values for Matter provisioning
|
||||
#
|
||||
# Copyright (C) 2023 Stephan Hadinger & Theo Arends
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import matter
|
||||
|
||||
#@ solidify:Matter_Certs,weak
|
||||
|
||||
class Matter_Certs
|
||||
|
||||
static var PAI_Cert_FFF1 = bytes(
|
||||
"308201CB30820171A003020102020856AD8222AD945B64300A06082A8648CE3D"
|
||||
"04030230303118301606035504030C0F4D617474657220546573742050414131"
|
||||
"143012060A2B0601040182A27C02010C04464646313020170D32323032303530"
|
||||
"30303030305A180F39393939313233313233353935395A303D31253023060355"
|
||||
"04030C1C4D6174746572204465762050414920307846464631206E6F20504944"
|
||||
"31143012060A2B0601040182A27C02010C04464646313059301306072A8648CE"
|
||||
"3D020106082A8648CE3D03010703420004419A9315C2173E0C8C876D03CCFC94"
|
||||
"4852647F7FEC5E5082F4059928ECA894C594151309AC631E4CB03392AF684B0B"
|
||||
"AFB7E65B3B8162C2F52BF931B8E77AAA82A366306430120603551D130101FF04"
|
||||
"0830060101FF020100300E0603551D0F0101FF040403020106301D0603551D0E"
|
||||
"0416041463540E47F64B1C38D13884A462D16C195D8FFB3C301F0603551D2304"
|
||||
"18301680146AFD22771F511FECBF1641976710DCDC31A1717E300A06082A8648"
|
||||
"CE3D0403020348003045022100B2EF27F49AE9B50FB91EEAC94C4D0BDBB8D792"
|
||||
"9C6CB88FACE529368D12054C0C0220655DC92B86BD909882A6C62177B825D7D0"
|
||||
"5EDBE7C22F9FEA71220E7EA703F891"
|
||||
)
|
||||
|
||||
# static var PAI_Pub_FFF1 = bytes(
|
||||
# "04419A9315C2173E0C8C876D03CCFC944852647F7FEC5E5082F4059928ECA894"
|
||||
# "C594151309AC631E4CB03392AF684B0BAFB7E65B3B8162C2F52BF931B8E77AAA"
|
||||
# "82"
|
||||
# )
|
||||
|
||||
# static var PAI_Priv_FFF1 = bytes(
|
||||
# "C1AB5FE284B4C18940A53161F806944050A1697B71761D385337A8A3CD095C34"
|
||||
# )
|
||||
|
||||
#-
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
56:ad:82:22:ad:94:5b:64
|
||||
Signature Algorithm: ecdsa-with-SHA256
|
||||
Issuer: CN = Matter Test PAA, 1.3.6.1.4.1.37244.2.1 = FFF1
|
||||
Validity
|
||||
Not Before: Feb 5 00:00:00 2022 GMT
|
||||
Not After : Dec 31 23:59:59 9999 GMT
|
||||
Subject: CN = Matter Dev PAI 0xFFF1 no PID, 1.3.6.1.4.1.37244.2.1 = FFF1
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: id-ecPublicKey
|
||||
Public-Key: (256 bit)
|
||||
pub:
|
||||
04:41:9a:93:15:c2:17:3e:0c:8c:87:6d:03:cc:fc:
|
||||
94:48:52:64:7f:7f:ec:5e:50:82:f4:05:99:28:ec:
|
||||
a8:94:c5:94:15:13:09:ac:63:1e:4c:b0:33:92:af:
|
||||
68:4b:0b:af:b7:e6:5b:3b:81:62:c2:f5:2b:f9:31:
|
||||
b8:e7:7a:aa:82
|
||||
ASN1 OID: prime256v1
|
||||
NIST CURVE: P-256
|
||||
X509v3 extensions:
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:TRUE, pathlen:0
|
||||
X509v3 Key Usage: critical
|
||||
Certificate Sign, CRL Sign
|
||||
X509v3 Subject Key Identifier:
|
||||
63:54:0E:47:F6:4B:1C:38:D1:38:84:A4:62:D1:6C:19:5D:8F:FB:3C
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:6A:FD:22:77:1F:51:1F:EC:BF:16:41:97:67:10:DC:DC:31:A1:71:7E
|
||||
|
||||
Signature Algorithm: ecdsa-with-SHA256
|
||||
30:45:02:21:00:b2:ef:27:f4:9a:e9:b5:0f:b9:1e:ea:c9:4c:
|
||||
4d:0b:db:b8:d7:92:9c:6c:b8:8f:ac:e5:29:36:8d:12:05:4c:
|
||||
0c:02:20:65:5d:c9:2b:86:bd:90:98:82:a6:c6:21:77:b8:25:
|
||||
d7:d0:5e:db:e7:c2:2f:9f:ea:71:22:0e:7e:a7:03:f8:91
|
||||
-#
|
||||
|
||||
#-
|
||||
ASN.1
|
||||
|
||||
SEQUENCE (3 elem)
|
||||
SEQUENCE (8 elem)
|
||||
[0] (1 elem)
|
||||
INTEGER 2
|
||||
INTEGER (63 bit) 6245791343685426020
|
||||
SEQUENCE (1 elem)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.4.3.2 ecdsaWithSHA256 (ANSI X9.62 ECDSA algorithm with SHA256)
|
||||
SEQUENCE (2 elem)
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.4.3 commonName (X.520 DN component)
|
||||
UTF8String Matter Test PAA
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 1.3.6.1.4.1.37244.2.1
|
||||
UTF8String FFF1
|
||||
SEQUENCE (2 elem)
|
||||
UTCTime 2022-02-05 00:00:00 UTC
|
||||
GeneralizedTime 9999-12-31 23:59:59 UTC
|
||||
SEQUENCE (2 elem)
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.4.3 commonName (X.520 DN component)
|
||||
UTF8String Matter Dev PAI 0xFFF1 no PID
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 1.3.6.1.4.1.37244.2.1
|
||||
UTF8String FFF1
|
||||
SEQUENCE (2 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.2.1 ecPublicKey (ANSI X9.62 public key type)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.3.1.7 prime256v1 (ANSI X9.62 named elliptic curve)
|
||||
BIT STRING (520 bit) 0000010001000001100110101001001100010101110000100001011100111110000011…
|
||||
[3] (1 elem)
|
||||
SEQUENCE (4 elem)
|
||||
SEQUENCE (3 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.19 basicConstraints (X.509 extension)
|
||||
BOOLEAN true
|
||||
OCTET STRING (8 byte) 30060101FF020100
|
||||
SEQUENCE (2 elem)
|
||||
BOOLEAN true
|
||||
INTEGER 0
|
||||
SEQUENCE (3 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.15 keyUsage (X.509 extension)
|
||||
BOOLEAN true
|
||||
OCTET STRING (4 byte) 03020106
|
||||
BIT STRING (7 bit) 0000011
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.14 subjectKeyIdentifier (X.509 extension)
|
||||
OCTET STRING (22 byte) 041463540E47F64B1C38D13884A462D16C195D8FFB3C
|
||||
OCTET STRING (20 byte) 63540E47F64B1C38D13884A462D16C195D8FFB3C
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.35 authorityKeyIdentifier (X.509 extension)
|
||||
OCTET STRING (24 byte) 301680146AFD22771F511FECBF1641976710DCDC31A1717E
|
||||
SEQUENCE (1 elem)
|
||||
[0] (20 byte) 6AFD22771F511FECBF1641976710DCDC31A1717E
|
||||
SEQUENCE (1 elem)
|
||||
Offset: 377
|
||||
Length: 2+10
|
||||
(constructed)
|
||||
Value:
|
||||
(1 elem)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.4.3.2 ecdsaWithSHA256 (ANSI X9.62 ECDSA algorithm with SHA256)
|
||||
BIT STRING (568 bit) 0011000001000101000000100010000100000000101100101110111100100111111101…
|
||||
SEQUENCE (2 elem)
|
||||
INTEGER (256 bit) 8093423925895219711386938045632983408737245943652937189339272815747009…
|
||||
INTEGER (255 bit) 4584930290841753608947726397552150715869097421278636946745345682393985…
|
||||
-#
|
||||
static var DAC_Cert_FFF1_8000 = bytes(
|
||||
"308201E93082018EA0030201020208238A647BBC4C30DD300A06082A8648CE3D"
|
||||
"040302303D3125302306035504030C1C4D617474657220446576205041492030"
|
||||
"7846464631206E6F2050494431143012060A2B0601040182A27C02010C044646"
|
||||
"46313020170D3232303230353030303030305A180F3939393931323331323335"
|
||||
"3935395A30533125302306035504030C1C4D6174746572204465762044414320"
|
||||
"3078464646312F30783830303031143012060A2B0601040182A27C02010C0446"
|
||||
"46463131143012060A2B0601040182A27C02020C04383030303059301306072A"
|
||||
"8648CE3D020106082A8648CE3D0301070342000462DB16BADEA326A6DB84814A"
|
||||
"063FC6C7E9E2B101B721648EBA4E5AC840F5DA301EE618124EB4180E2FC3A204"
|
||||
"7A564BA9BCFA0BF71F60CE8930F1E7F66EC8D728A360305E300C0603551D1301"
|
||||
"01FF04023000300E0603551D0F0101FF040403020780301D0603551D0E041604"
|
||||
"14BCF7B007497063606A26BE4E087C595687745A5A301F0603551D2304183016"
|
||||
"801463540E47F64B1C38D13884A462D16C195D8FFB3C300A06082A8648CE3D04"
|
||||
"03020349003046022100979711EC9E7618CE41801132C250DB707674630CD58C"
|
||||
"12C6E2315F08D01EE178022100ECFC1306BD2A133D122A278610EA3DCA47F05C"
|
||||
"7A8B805FA71C6FF41538A864C8"
|
||||
)
|
||||
|
||||
#-
|
||||
Decoded cert: openssl x509 -inform der -in DAC_Cert_FFF1_8000.der -text -noout
|
||||
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
23:8a:64:7b:bc:4c:30:dd
|
||||
Signature Algorithm: ecdsa-with-SHA256
|
||||
Issuer: CN = Matter Dev PAI 0xFFF1 no PID, 1.3.6.1.4.1.37244.2.1 = FFF1
|
||||
Validity
|
||||
Not Before: Feb 5 00:00:00 2022 GMT
|
||||
Not After : Dec 31 23:59:59 9999 GMT
|
||||
Subject: CN = Matter Dev DAC 0xFFF1/0x8000, 1.3.6.1.4.1.37244.2.1 = FFF1, 1.3.6.1.4.1.37244.2.2 = 8000
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: id-ecPublicKey
|
||||
Public-Key: (256 bit)
|
||||
pub:
|
||||
04:62:db:16:ba:de:a3:26:a6:db:84:81:4a:06:3f:
|
||||
c6:c7:e9:e2:b1:01:b7:21:64:8e:ba:4e:5a:c8:40:
|
||||
f5:da:30:1e:e6:18:12:4e:b4:18:0e:2f:c3:a2:04:
|
||||
7a:56:4b:a9:bc:fa:0b:f7:1f:60:ce:89:30:f1:e7:
|
||||
f6:6e:c8:d7:28
|
||||
ASN1 OID: prime256v1
|
||||
NIST CURVE: P-256
|
||||
X509v3 extensions:
|
||||
X509v3 Basic Constraints: critical
|
||||
CA:FALSE
|
||||
X509v3 Key Usage: critical
|
||||
Digital Signature
|
||||
X509v3 Subject Key Identifier:
|
||||
BC:F7:B0:07:49:70:63:60:6A:26:BE:4E:08:7C:59:56:87:74:5A:5A
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:63:54:0E:47:F6:4B:1C:38:D1:38:84:A4:62:D1:6C:19:5D:8F:FB:3C
|
||||
|
||||
Signature Algorithm: ecdsa-with-SHA256
|
||||
30:46:02:21:00:97:97:11:ec:9e:76:18:ce:41:80:11:32:c2:
|
||||
50:db:70:76:74:63:0c:d5:8c:12:c6:e2:31:5f:08:d0:1e:e1:
|
||||
78:02:21:00:ec:fc:13:06:bd:2a:13:3d:12:2a:27:86:10:ea:
|
||||
3d:ca:47:f0:5c:7a:8b:80:5f:a7:1c:6f:f4:15:38:a8:64:c8
|
||||
|
||||
-#
|
||||
|
||||
#- Decoded ASN.1
|
||||
|
||||
SEQUENCE (3 elem)
|
||||
SEQUENCE (8 elem)
|
||||
[0] (1 elem)
|
||||
INTEGER 2
|
||||
INTEGER (62 bit) 2560969820716413149
|
||||
SEQUENCE (1 elem)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.4.3.2 ecdsaWithSHA256 (ANSI X9.62 ECDSA algorithm with SHA256)
|
||||
SEQUENCE (2 elem)
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.4.3 commonName (X.520 DN component)
|
||||
UTF8String Matter Dev PAI 0xFFF1 no PID
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 1.3.6.1.4.1.37244.2.1
|
||||
UTF8String FFF1
|
||||
SEQUENCE (2 elem)
|
||||
UTCTime 2022-02-05 00:00:00 UTC
|
||||
GeneralizedTime 9999-12-31 23:59:59 UTC
|
||||
SEQUENCE (3 elem)
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.4.3 commonName (X.520 DN component)
|
||||
UTF8String Matter Dev DAC 0xFFF1/0x8000
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 1.3.6.1.4.1.37244.2.1
|
||||
UTF8String FFF1
|
||||
SET (1 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 1.3.6.1.4.1.37244.2.2
|
||||
UTF8String 8000
|
||||
SEQUENCE (2 elem)
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.2.1 ecPublicKey (ANSI X9.62 public key type)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.3.1.7 prime256v1 (ANSI X9.62 named elliptic curve)
|
||||
BIT STRING (520 bit) 0000010001100010110110110001011010111010110111101010001100100110101001…
|
||||
[3] (1 elem)
|
||||
SEQUENCE (4 elem)
|
||||
SEQUENCE (3 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.19 basicConstraints (X.509 extension)
|
||||
BOOLEAN true
|
||||
OCTET STRING (2 byte) 3000
|
||||
SEQUENCE (0 elem)
|
||||
SEQUENCE (3 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.15 keyUsage (X.509 extension)
|
||||
BOOLEAN true
|
||||
OCTET STRING (4 byte) 03020780
|
||||
BIT STRING (1 bit) 1
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.14 subjectKeyIdentifier (X.509 extension)
|
||||
OCTET STRING (22 byte) 0414BCF7B007497063606A26BE4E087C595687745A5A
|
||||
OCTET STRING (20 byte) BCF7B007497063606A26BE4E087C595687745A5A
|
||||
SEQUENCE (2 elem)
|
||||
OBJECT IDENTIFIER 2.5.29.35 authorityKeyIdentifier (X.509 extension)
|
||||
OCTET STRING (24 byte) 3016801463540E47F64B1C38D13884A462D16C195D8FFB3C
|
||||
SEQUENCE (1 elem)
|
||||
[0] (20 byte) 63540E47F64B1C38D13884A462D16C195D8FFB3C
|
||||
SEQUENCE (1 elem)
|
||||
OBJECT IDENTIFIER 1.2.840.10045.4.3.2 ecdsaWithSHA256 (ANSI X9.62 ECDSA algorithm with SHA256)
|
||||
BIT STRING (576 bit) 0011000001000110000000100010000100000000100101111001011100010001111011…
|
||||
SEQUENCE (2 elem)
|
||||
INTEGER (256 bit) 6856615775177799389454949658700013485116050405241433595512074226650010…
|
||||
INTEGER (256 bit) 1071912090408366213691559168363210336766445086127676108978024779974417…
|
||||
-#
|
||||
# static var DAC_Pub_FFF1_8000 = bytes(
|
||||
# "0462DB16BADEA326A6DB84814A063FC6C7E9E2B101B721648EBA4E5AC840F5DA"
|
||||
# "301EE618124EB4180E2FC3A2047A564BA9BCFA0BF71F60CE8930F1E7F66EC8D7"
|
||||
# "28"
|
||||
# )
|
||||
static var DAC_Priv_FFF1_8000 = bytes(
|
||||
"CCCF9DC7050EF5D90BE45707B90E1F875D59BE1FA942E8ED2E427203F6C2EE3D"
|
||||
)
|
||||
|
||||
# CertificationDeclaration */
|
||||
# -> format_version = 1
|
||||
# -> vendor_id = 0xFFF1
|
||||
# -> product_id_array = [ 0x8000, 0x8001, 0x8002, 0x8003, 0x8004, 0x8005, 0x8006, 0x8007, 0x8008, 0x8009, 0x800A, 0x800B,
|
||||
# 0x800C, 0x800D, 0x800E, 0x800F, 0x8010, 0x8011, 0x8012, 0x8013, 0x8014, 0x8015, 0x8016, 0x8017, 0x8018, 0x8019, 0x801A,
|
||||
# 0x801B, 0x801C, 0x801D, 0x801E, 0x801F, 0x8020, 0x8021, 0x8022, 0x8023, 0x8024, 0x8025, 0x8026, 0x8027, 0x8028, 0x8029,
|
||||
# 0x802A, 0x802B, 0x802C, 0x802D, 0x802E, 0x802F, 0x8030, 0x8031, 0x8032, 0x8033, 0x8034, 0x8035, 0x8036, 0x8037, 0x8038,
|
||||
# 0x8039, 0x803A, 0x803B, 0x803C, 0x803D, 0x803E, 0x803F, 0x8040, 0x8041, 0x8042, 0x8043, 0x8044, 0x8045, 0x8046, 0x8047,
|
||||
# 0x8048, 0x8049, 0x804A, 0x804B, 0x804C, 0x804D, 0x804E, 0x804F, 0x8050, 0x8051, 0x8052, 0x8053, 0x8054, 0x8055, 0x8056,
|
||||
# 0x8057, 0x8058, 0x8059, 0x805A, 0x805B, 0x805C, 0x805D, 0x805E, 0x805F, 0x8060, 0x8061, 0x8062, 0x8063 ]
|
||||
# -> device_type_id = 0x0016
|
||||
# -> certificate_id = "CSA00000SWC00000-00"
|
||||
# -> security_level = 0
|
||||
# -> security_information = 0
|
||||
# -> version_number = 1
|
||||
# -> certification_type = 0
|
||||
# -> dac_origin_vendor_id is not present
|
||||
# -> dac_origin_product_id is not present
|
||||
static var CD_FFF1_8000 = bytes(
|
||||
"3082021706092A864886F70D010702A082020830820204020103310D300B0609"
|
||||
"6086480165030402013082017006092A864886F70D010701A08201610482015D"
|
||||
"152400012501F1FF360205008005018005028005038005048005058005068005"
|
||||
"0780050880050980050A80050B80050C80050D80050E80050F80051080051180"
|
||||
"051280051380051480051580051680051780051880051980051A80051B80051C"
|
||||
"80051D80051E80051F8005208005218005228005238005248005258005268005"
|
||||
"2780052880052980052A80052B80052C80052D80052E80052F80053080053180"
|
||||
"053280053380053480053580053680053780053880053980053A80053B80053C"
|
||||
"80053D80053E80053F8005408005418005428005438005448005458005468005"
|
||||
"4780054880054980054A80054B80054C80054D80054E80054F80055080055180"
|
||||
"055280055380055480055580055680055780055880055980055A80055B80055C"
|
||||
"80055D80055E80055F80056080056180056280056380182403162C0413435341"
|
||||
"303030303053574330303030302D303024050024060024070124080018317C30"
|
||||
"7A0201038014FE343F959947763B61EE4539131338494FE67D8E300B06096086"
|
||||
"48016503040201300A06082A8648CE3D0403020446304402204A12F8D42F9023"
|
||||
"5C05A77121CBEBAE15D590146558E9C9B47A1A38F7A36A7DC5022020A4742897"
|
||||
"C30AEDA0A56B36E14EBBC85BBDB74493F993581EB0444ED6CA940B"
|
||||
)
|
||||
|
||||
end
|
||||
matter.Certs = Matter_Certs
|
||||
|
||||
#-
|
||||
|
||||
assert(matter.Certs.PAI_Cert_FFF1 == matter.PAI_Cert_FFF1())
|
||||
assert(matter.Certs.PAI_Pub_FFF1 == matter.PAI_Pub_FFF1())
|
||||
assert(matter.Certs.PAI_Priv_FFF1 == matter.PAI_Priv_FFF1())
|
||||
assert(matter.Certs.DAC_Priv_FFF1_8000 == matter.DAC_Priv_FFF1_8000())
|
||||
assert(matter.Certs.DAC_Cert_FFF1_8000 == matter.DAC_Cert_FFF1_8000())
|
||||
assert(matter.Certs.DAC_Pub_FFF1_8000 == matter.DAC_Pub_FFF1_8000())
|
||||
assert(matter.Certs.CD_FFF1_8000 == matter.CD_FFF1_8000())
|
||||
|
||||
-#
|
||||
@@ -1022,7 +1022,7 @@ class Matter_Plugin_Root : Matter_Plugin
|
||||
# ID=1
|
||||
# 0=Certificate (octstr)
|
||||
var ccr = TLV.Matter_TLV_struct()
|
||||
ccr.add_TLV(0, TLV.B2, CertificateType == 1 ? matter.DAC_Cert_FFF1_8000() : matter.PAI_Cert_FFF1()) # send DAC_Cert_FFF1_8000 or PAI_Cert_FFF1
|
||||
ccr.add_TLV(0, TLV.B2, CertificateType == 1 ? matter.Certs.DAC_Cert_FFF1_8000 : matter.Certs.PAI_Cert_FFF1) # send DAC_Cert_FFF1_8000 or PAI_Cert_FFF1
|
||||
ctx.command = 0x03 # CertificateChainResponse
|
||||
return ccr
|
||||
|
||||
@@ -1033,7 +1033,7 @@ class Matter_Plugin_Root : Matter_Plugin
|
||||
|
||||
# build Attestation Elements 11.17.5.4 p.707
|
||||
var att_elts = TLV.Matter_TLV_struct()
|
||||
att_elts.add_TLV(1, TLV.B2, matter.CD_FFF1_8000()) # certification_declaration
|
||||
att_elts.add_TLV(1, TLV.B2, matter.Certs.CD_FFF1_8000) # certification_declaration
|
||||
att_elts.add_TLV(2, TLV.B1, AttestationNonce) # attestation_nonce
|
||||
att_elts.add_TLV(3, TLV.U4, tasmota.rtc_utc()) # timestamp in epoch-s
|
||||
var attestation_message = att_elts.tlv2raw()
|
||||
@@ -1042,7 +1042,7 @@ class Matter_Plugin_Root : Matter_Plugin
|
||||
var attestation_tbs = attestation_message + ac
|
||||
# log("MTR: attestation_tbs=" + attestation_tbs.tohex(), 4)
|
||||
|
||||
var attestation_signature = crypto.EC_P256().ecdsa_sign_sha256(matter.DAC_Priv_FFF1_8000(), attestation_tbs)
|
||||
var attestation_signature = crypto.EC_P256().ecdsa_sign_sha256(matter.Certs.DAC_Priv_FFF1_8000, attestation_tbs)
|
||||
|
||||
# create AttestationResponse
|
||||
# 0=AttestationElements (octstr max 900 bytes)
|
||||
@@ -1069,7 +1069,7 @@ class Matter_Plugin_Root : Matter_Plugin
|
||||
# sign with attestation challenge
|
||||
var nocsr_tbs = nocsr_elements_message + session.get_ac()
|
||||
# log("MTR: nocsr_tbs=" + nocsr_tbs.tohex(), 4)
|
||||
var attestation_signature = crypto.EC_P256().ecdsa_sign_sha256(matter.DAC_Priv_FFF1_8000(), nocsr_tbs)
|
||||
var attestation_signature = crypto.EC_P256().ecdsa_sign_sha256(matter.Certs.DAC_Priv_FFF1_8000, nocsr_tbs)
|
||||
|
||||
# create CSRResponse
|
||||
# 0=NOCSRElements (octstr max 900 bytes)
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
/* Solidification of Matter_Certs.h */
|
||||
/********************************************************************\
|
||||
* Generated code, don't edit *
|
||||
\********************************************************************/
|
||||
#include "be_constobj.h"
|
||||
|
||||
extern const bclass be_class_Matter_Certs;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Certs
|
||||
********************************************************************/
|
||||
be_local_class(Matter_Certs,
|
||||
0,
|
||||
NULL,
|
||||
be_nested_map(4,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(PAI_Cert_FFF1, 2), be_const_bytes_instance(308201CB30820171A003020102020856AD8222AD945B64300A06082A8648CE3D04030230303118301606035504030C0F4D617474657220546573742050414131143012060A2B0601040182A27C02010C04464646313020170D3232303230353030303030305A180F39393939313233313233353935395A303D3125302306035504030C1C4D6174746572204465762050414920307846464631206E6F2050494431143012060A2B0601040182A27C02010C04464646313059301306072A8648CE3D020106082A8648CE3D03010703420004419A9315C2173E0C8C876D03CCFC944852647F7FEC5E5082F4059928ECA894C594151309AC631E4CB03392AF684B0BAFB7E65B3B8162C2F52BF931B8E77AAA82A366306430120603551D130101FF040830060101FF020100300E0603551D0F0101FF040403020106301D0603551D0E0416041463540E47F64B1C38D13884A462D16C195D8FFB3C301F0603551D230418301680146AFD22771F511FECBF1641976710DCDC31A1717E300A06082A8648CE3D0403020348003045022100B2EF27F49AE9B50FB91EEAC94C4D0BDBB8D7929C6CB88FACE529368D12054C0C0220655DC92B86BD909882A6C62177B825D7D05EDBE7C22F9FEA71220E7EA703F891) },
|
||||
{ be_const_key_weak(CD_FFF1_8000, -1), be_const_bytes_instance(3082021706092A864886F70D010702A082020830820204020103310D300B06096086480165030402013082017006092A864886F70D010701A08201610482015D152400012501F1FF3602050080050180050280050380050480050580050680050780050880050980050A80050B80050C80050D80050E80050F80051080051180051280051380051480051580051680051780051880051980051A80051B80051C80051D80051E80051F80052080052180052280052380052480052580052680052780052880052980052A80052B80052C80052D80052E80052F80053080053180053280053380053480053580053680053780053880053980053A80053B80053C80053D80053E80053F80054080054180054280054380054480054580054680054780054880054980054A80054B80054C80054D80054E80054F80055080055180055280055380055480055580055680055780055880055980055A80055B80055C80055D80055E80055F80056080056180056280056380182403162C0413435341303030303053574330303030302D303024050024060024070124080018317C307A0201038014FE343F959947763B61EE4539131338494FE67D8E300B0609608648016503040201300A06082A8648CE3D0403020446304402204A12F8D42F90235C05A77121CBEBAE15D590146558E9C9B47A1A38F7A36A7DC5022020A4742897C30AEDA0A56B36E14EBBC85BBDB74493F993581EB0444ED6CA940B) },
|
||||
{ be_const_key_weak(DAC_Priv_FFF1_8000, -1), be_const_bytes_instance(CCCF9DC7050EF5D90BE45707B90E1F875D59BE1FA942E8ED2E427203F6C2EE3D) },
|
||||
{ be_const_key_weak(DAC_Cert_FFF1_8000, 1), be_const_bytes_instance(308201E93082018EA0030201020208238A647BBC4C30DD300A06082A8648CE3D040302303D3125302306035504030C1C4D6174746572204465762050414920307846464631206E6F2050494431143012060A2B0601040182A27C02010C04464646313020170D3232303230353030303030305A180F39393939313233313233353935395A30533125302306035504030C1C4D61747465722044657620444143203078464646312F30783830303031143012060A2B0601040182A27C02010C044646463131143012060A2B0601040182A27C02020C04383030303059301306072A8648CE3D020106082A8648CE3D0301070342000462DB16BADEA326A6DB84814A063FC6C7E9E2B101B721648EBA4E5AC840F5DA301EE618124EB4180E2FC3A2047A564BA9BCFA0BF71F60CE8930F1E7F66EC8D728A360305E300C0603551D130101FF04023000300E0603551D0F0101FF040403020780301D0603551D0E04160414BCF7B007497063606A26BE4E087C595687745A5A301F0603551D2304183016801463540E47F64B1C38D13884A462D16C195D8FFB3C300A06082A8648CE3D0403020349003046022100979711EC9E7618CE41801132C250DB707674630CD58C12C6E2315F08D01EE178022100ECFC1306BD2A133D122A278610EA3DCA47F05C7A8B805FA71C6FF41538A864C8) },
|
||||
})),
|
||||
be_str_weak(Matter_Certs)
|
||||
);
|
||||
/********************************************************************/
|
||||
/* End of solidification */
|
||||
@@ -3,8 +3,8 @@
|
||||
* Generated code, don't edit *
|
||||
\********************************************************************/
|
||||
#include "be_constobj.h"
|
||||
// compact class 'Matter_Plugin_Root' ktab size: 174, total: 228 (saved 432 bytes)
|
||||
static const bvalue be_ktab_class_Matter_Plugin_Root[174] = {
|
||||
// compact class 'Matter_Plugin_Root' ktab size: 175, total: 229 (saved 432 bytes)
|
||||
static const bvalue be_ktab_class_Matter_Plugin_Root[175] = {
|
||||
/* K0 */ be_nested_str_weak(string),
|
||||
/* K1 */ be_nested_str_weak(matter),
|
||||
/* K2 */ be_nested_str_weak(TLV),
|
||||
@@ -121,64 +121,65 @@ static const bvalue be_ktab_class_Matter_Plugin_Root[174] = {
|
||||
/* K113 */ be_nested_str_weak(context_error),
|
||||
/* K114 */ be_nested_str_weak(CommissioningComplete_X3A_X20no_X20fabric_X20attached),
|
||||
/* K115 */ be_nested_str_weak(UNSUPPORTED_COMMAND),
|
||||
/* K116 */ be_nested_str_weak(DAC_Cert_FFF1_8000),
|
||||
/* K117 */ be_nested_str_weak(PAI_Cert_FFF1),
|
||||
/* K118 */ be_nested_str_weak(CD_FFF1_8000),
|
||||
/* K119 */ be_nested_str_weak(tlv2raw),
|
||||
/* K120 */ be_nested_str_weak(get_ac),
|
||||
/* K121 */ be_nested_str_weak(EC_P256),
|
||||
/* K122 */ be_nested_str_weak(ecdsa_sign_sha256),
|
||||
/* K123 */ be_nested_str_weak(DAC_Priv_FFF1_8000),
|
||||
/* K124 */ be_nested_str_weak(gen_CSR),
|
||||
/* K125 */ be_nested_str_weak(set_temp_ca),
|
||||
/* K126 */ be_nested_str_weak(SUCCESS),
|
||||
/* K127 */ be_nested_str_weak(log),
|
||||
/* K128 */ be_nested_str_weak(MTR_X3A_X20AddNoc_X20Args_X3D),
|
||||
/* K129 */ be_nested_str_weak(get_temp_ca),
|
||||
/* K130 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20AdNOC_X20without_X20CA),
|
||||
/* K131 */ be_nested_str_weak(create_fabric),
|
||||
/* K132 */ be_nested_str_weak(set_ca),
|
||||
/* K133 */ be_nested_str_weak(set_noc_icac),
|
||||
/* K134 */ be_nested_str_weak(set_ipk_epoch_key),
|
||||
/* K135 */ be_nested_str_weak(set_admin_subject_vendor),
|
||||
/* K136 */ be_nested_str_weak(set_pk),
|
||||
/* K137 */ be_nested_str_weak(get_pk),
|
||||
/* K138 */ be_nested_str_weak(findsub),
|
||||
/* K139 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20no_X20fabricid_X20nor_X20deviceid_X20in_X20NOC_X20certificate),
|
||||
/* K140 */ be_nested_str_weak(fromu32),
|
||||
/* K141 */ be_nested_str_weak(tobytes),
|
||||
/* K142 */ be_nested_str_weak(get_temp_ca_pub),
|
||||
/* K143 */ be_const_int(2147483647),
|
||||
/* K144 */ be_nested_str_weak(fromstring),
|
||||
/* K145 */ be_nested_str_weak(CompressedFabric),
|
||||
/* K146 */ be_nested_str_weak(HKDF_SHA256),
|
||||
/* K147 */ be_nested_str_weak(copy),
|
||||
/* K148 */ be_nested_str_weak(reverse),
|
||||
/* K149 */ be_nested_str_weak(derive),
|
||||
/* K150 */ be_nested_str_weak(set_fabric_device),
|
||||
/* K151 */ be_nested_str_weak(fabric_candidate),
|
||||
/* K152 */ be_nested_str_weak(start_operational_discovery_deferred),
|
||||
/* K153 */ be_nested_str_weak(is_PASE),
|
||||
/* K154 */ be_nested_str_weak(set_expire_in_seconds),
|
||||
/* K155 */ be_nested_str_weak(log_new_fabric),
|
||||
/* K156 */ be_nested_str_weak(assign_fabric_index),
|
||||
/* K157 */ be_nested_str_weak(set_fabric_label),
|
||||
/* K158 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Update_X20fabric_X20_X27_X25s_X27_X20label_X3D_X27_X25s_X27),
|
||||
/* K159 */ be_nested_str_weak(get_fabric_id),
|
||||
/* K160 */ be_nested_str_weak(tohex),
|
||||
/* K161 */ be_nested_str_weak(fabric_index_X3A),
|
||||
/* K162 */ be_nested_str_weak(mark_for_deletion),
|
||||
/* K163 */ be_nested_str_weak(set_timer),
|
||||
/* K164 */ be_nested_str_weak(MTR_X3A_X20RemoveFabric_X20fabric_X28),
|
||||
/* K165 */ be_nested_str_weak(_X29_X20not_X20found),
|
||||
/* K166 */ be_nested_str_weak(MTR_X3A_X20OpenCommissioningWindow_X28timeout_X3D_X25i_X2C_X20passcode_X3D_X25s_X2C_X20discriminator_X3D_X25i_X2C_X20iterations_X3D_X25i_X2C_X20salt_X3D_X25s_X29),
|
||||
/* K167 */ be_nested_str_weak(INVALID_DATA_TYPE),
|
||||
/* K168 */ be_nested_str_weak(MTR_X3A_X20wrong_X20size_X20for_X20PAKE_X20parameters),
|
||||
/* K169 */ be_nested_str_weak(start_basic_commissioning),
|
||||
/* K170 */ be_nested_str_weak(MTR_X3A_X20OpenBasicCommissioningWindow_X20commissioning_timeout_X3D),
|
||||
/* K171 */ be_nested_str_weak(start_root_basic_commissioning),
|
||||
/* K172 */ be_nested_str_weak(stop_basic_commissioning),
|
||||
/* K173 */ be_nested_str_weak(invoke_request),
|
||||
/* K116 */ be_nested_str_weak(Certs),
|
||||
/* K117 */ be_nested_str_weak(DAC_Cert_FFF1_8000),
|
||||
/* K118 */ be_nested_str_weak(PAI_Cert_FFF1),
|
||||
/* K119 */ be_nested_str_weak(CD_FFF1_8000),
|
||||
/* K120 */ be_nested_str_weak(tlv2raw),
|
||||
/* K121 */ be_nested_str_weak(get_ac),
|
||||
/* K122 */ be_nested_str_weak(EC_P256),
|
||||
/* K123 */ be_nested_str_weak(ecdsa_sign_sha256),
|
||||
/* K124 */ be_nested_str_weak(DAC_Priv_FFF1_8000),
|
||||
/* K125 */ be_nested_str_weak(gen_CSR),
|
||||
/* K126 */ be_nested_str_weak(set_temp_ca),
|
||||
/* K127 */ be_nested_str_weak(SUCCESS),
|
||||
/* K128 */ be_nested_str_weak(log),
|
||||
/* K129 */ be_nested_str_weak(MTR_X3A_X20AddNoc_X20Args_X3D),
|
||||
/* K130 */ be_nested_str_weak(get_temp_ca),
|
||||
/* K131 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20AdNOC_X20without_X20CA),
|
||||
/* K132 */ be_nested_str_weak(create_fabric),
|
||||
/* K133 */ be_nested_str_weak(set_ca),
|
||||
/* K134 */ be_nested_str_weak(set_noc_icac),
|
||||
/* K135 */ be_nested_str_weak(set_ipk_epoch_key),
|
||||
/* K136 */ be_nested_str_weak(set_admin_subject_vendor),
|
||||
/* K137 */ be_nested_str_weak(set_pk),
|
||||
/* K138 */ be_nested_str_weak(get_pk),
|
||||
/* K139 */ be_nested_str_weak(findsub),
|
||||
/* K140 */ be_nested_str_weak(MTR_X3A_X20Error_X3A_X20no_X20fabricid_X20nor_X20deviceid_X20in_X20NOC_X20certificate),
|
||||
/* K141 */ be_nested_str_weak(fromu32),
|
||||
/* K142 */ be_nested_str_weak(tobytes),
|
||||
/* K143 */ be_nested_str_weak(get_temp_ca_pub),
|
||||
/* K144 */ be_const_int(2147483647),
|
||||
/* K145 */ be_nested_str_weak(fromstring),
|
||||
/* K146 */ be_nested_str_weak(CompressedFabric),
|
||||
/* K147 */ be_nested_str_weak(HKDF_SHA256),
|
||||
/* K148 */ be_nested_str_weak(copy),
|
||||
/* K149 */ be_nested_str_weak(reverse),
|
||||
/* K150 */ be_nested_str_weak(derive),
|
||||
/* K151 */ be_nested_str_weak(set_fabric_device),
|
||||
/* K152 */ be_nested_str_weak(fabric_candidate),
|
||||
/* K153 */ be_nested_str_weak(start_operational_discovery_deferred),
|
||||
/* K154 */ be_nested_str_weak(is_PASE),
|
||||
/* K155 */ be_nested_str_weak(set_expire_in_seconds),
|
||||
/* K156 */ be_nested_str_weak(log_new_fabric),
|
||||
/* K157 */ be_nested_str_weak(assign_fabric_index),
|
||||
/* K158 */ be_nested_str_weak(set_fabric_label),
|
||||
/* K159 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Update_X20fabric_X20_X27_X25s_X27_X20label_X3D_X27_X25s_X27),
|
||||
/* K160 */ be_nested_str_weak(get_fabric_id),
|
||||
/* K161 */ be_nested_str_weak(tohex),
|
||||
/* K162 */ be_nested_str_weak(fabric_index_X3A),
|
||||
/* K163 */ be_nested_str_weak(mark_for_deletion),
|
||||
/* K164 */ be_nested_str_weak(set_timer),
|
||||
/* K165 */ be_nested_str_weak(MTR_X3A_X20RemoveFabric_X20fabric_X28),
|
||||
/* K166 */ be_nested_str_weak(_X29_X20not_X20found),
|
||||
/* K167 */ be_nested_str_weak(MTR_X3A_X20OpenCommissioningWindow_X28timeout_X3D_X25i_X2C_X20passcode_X3D_X25s_X2C_X20discriminator_X3D_X25i_X2C_X20iterations_X3D_X25i_X2C_X20salt_X3D_X25s_X29),
|
||||
/* K168 */ be_nested_str_weak(INVALID_DATA_TYPE),
|
||||
/* K169 */ be_nested_str_weak(MTR_X3A_X20wrong_X20size_X20for_X20PAKE_X20parameters),
|
||||
/* K170 */ be_nested_str_weak(start_basic_commissioning),
|
||||
/* K171 */ be_nested_str_weak(MTR_X3A_X20OpenBasicCommissioningWindow_X20commissioning_timeout_X3D),
|
||||
/* K172 */ be_nested_str_weak(start_root_basic_commissioning),
|
||||
/* K173 */ be_nested_str_weak(stop_basic_commissioning),
|
||||
/* K174 */ be_nested_str_weak(invoke_request),
|
||||
};
|
||||
|
||||
|
||||
@@ -1548,12 +1549,12 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x1C381109, // 007C EQ R14 R8 K9
|
||||
0x783A0003, // 007D JMPF R14 #0082
|
||||
0xB83A0200, // 007E GETNGBL R14 K1
|
||||
0x8C381D74, // 007F GETMET R14 R14 K116
|
||||
0x7C380200, // 0080 CALL R14 1
|
||||
0x88381D74, // 007F GETMBR R14 R14 K116
|
||||
0x88381D75, // 0080 GETMBR R14 R14 K117
|
||||
0x70020002, // 0081 JMP #0085
|
||||
0xB83A0200, // 0082 GETNGBL R14 K1
|
||||
0x8C381D75, // 0083 GETMET R14 R14 K117
|
||||
0x7C380200, // 0084 CALL R14 1
|
||||
0x88381D74, // 0083 GETMBR R14 R14 K116
|
||||
0x88381D76, // 0084 GETMBR R14 R14 K118
|
||||
0x7C280800, // 0085 CALL R10 4
|
||||
0x900ED90F, // 0086 SETMBR R3 K108 K15
|
||||
0x80041200, // 0087 RET 1 R9
|
||||
@@ -1578,8 +1579,8 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x58300009, // 009A LDCONST R12 K9
|
||||
0x88340B3A, // 009B GETMBR R13 R5 K58
|
||||
0xB83A0200, // 009C GETNGBL R14 K1
|
||||
0x8C381D76, // 009D GETMET R14 R14 K118
|
||||
0x7C380200, // 009E CALL R14 1
|
||||
0x88381D74, // 009D GETMBR R14 R14 K116
|
||||
0x88381D77, // 009E GETMBR R14 R14 K119
|
||||
0x7C280800, // 009F CALL R10 4
|
||||
0x8C28130B, // 00A0 GETMET R10 R9 K11
|
||||
0x5830000D, // 00A1 LDCONST R12 K13
|
||||
@@ -1593,17 +1594,17 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x8C381D2F, // 00A9 GETMET R14 R14 K47
|
||||
0x7C380200, // 00AA CALL R14 1
|
||||
0x7C280800, // 00AB CALL R10 4
|
||||
0x8C281377, // 00AC GETMET R10 R9 K119
|
||||
0x8C281378, // 00AC GETMET R10 R9 K120
|
||||
0x7C280200, // 00AD CALL R10 1
|
||||
0x8C2C0378, // 00AE GETMET R11 R1 K120
|
||||
0x8C2C0379, // 00AE GETMET R11 R1 K121
|
||||
0x7C2C0200, // 00AF CALL R11 1
|
||||
0x0030140B, // 00B0 ADD R12 R10 R11
|
||||
0x8C340979, // 00B1 GETMET R13 R4 K121
|
||||
0x8C34097A, // 00B1 GETMET R13 R4 K122
|
||||
0x7C340200, // 00B2 CALL R13 1
|
||||
0x8C341B7A, // 00B3 GETMET R13 R13 K122
|
||||
0x8C341B7B, // 00B3 GETMET R13 R13 K123
|
||||
0xB83E0200, // 00B4 GETNGBL R15 K1
|
||||
0x8C3C1F7B, // 00B5 GETMET R15 R15 K123
|
||||
0x7C3C0200, // 00B6 CALL R15 1
|
||||
0x883C1F74, // 00B5 GETMBR R15 R15 K116
|
||||
0x883C1F7C, // 00B6 GETMBR R15 R15 K124
|
||||
0x5C401800, // 00B7 MOVE R16 R12
|
||||
0x7C340600, // 00B8 CALL R13 3
|
||||
0x8C380B0A, // 00B9 GETMET R14 R5 K10
|
||||
@@ -1642,7 +1643,7 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x582C0009, // 00DA LDCONST R11 K9
|
||||
0x50300000, // 00DB LDBOOL R12 0 0
|
||||
0x7C240600, // 00DC CALL R9 3
|
||||
0x8C28037C, // 00DD GETMET R10 R1 K124
|
||||
0x8C28037D, // 00DD GETMET R10 R1 K125
|
||||
0x7C280200, // 00DE CALL R10 1
|
||||
0x8C2C0B0A, // 00DF GETMET R11 R5 K10
|
||||
0x7C2C0200, // 00E0 CALL R11 1
|
||||
@@ -1656,17 +1657,17 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x883C0B1F, // 00E8 GETMBR R15 R5 K31
|
||||
0x5C401000, // 00E9 MOVE R16 R8
|
||||
0x7C300800, // 00EA CALL R12 4
|
||||
0x8C301777, // 00EB GETMET R12 R11 K119
|
||||
0x8C301778, // 00EB GETMET R12 R11 K120
|
||||
0x7C300200, // 00EC CALL R12 1
|
||||
0x8C340378, // 00ED GETMET R13 R1 K120
|
||||
0x8C340379, // 00ED GETMET R13 R1 K121
|
||||
0x7C340200, // 00EE CALL R13 1
|
||||
0x0034180D, // 00EF ADD R13 R12 R13
|
||||
0x8C380979, // 00F0 GETMET R14 R4 K121
|
||||
0x8C38097A, // 00F0 GETMET R14 R4 K122
|
||||
0x7C380200, // 00F1 CALL R14 1
|
||||
0x8C381D7A, // 00F2 GETMET R14 R14 K122
|
||||
0x8C381D7B, // 00F2 GETMET R14 R14 K123
|
||||
0xB8420200, // 00F3 GETNGBL R16 K1
|
||||
0x8C40217B, // 00F4 GETMET R16 R16 K123
|
||||
0x7C400200, // 00F5 CALL R16 1
|
||||
0x88402174, // 00F4 GETMBR R16 R16 K116
|
||||
0x8840217C, // 00F5 GETMBR R16 R16 K124
|
||||
0x5C441A00, // 00F6 MOVE R17 R13
|
||||
0x7C380600, // 00F7 CALL R14 3
|
||||
0x8C3C0B0A, // 00F8 GETMET R15 R5 K10
|
||||
@@ -1691,11 +1692,11 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x8C200541, // 010B GETMET R8 R2 K65
|
||||
0x58280005, // 010C LDCONST R10 K5
|
||||
0x7C200400, // 010D CALL R8 2
|
||||
0x8C24037D, // 010E GETMET R9 R1 K125
|
||||
0x8C24037E, // 010E GETMET R9 R1 K126
|
||||
0x5C2C1000, // 010F MOVE R11 R8
|
||||
0x7C240400, // 0110 CALL R9 2
|
||||
0xB8260200, // 0111 GETNGBL R9 K1
|
||||
0x8824137E, // 0112 GETMBR R9 R9 K126
|
||||
0x8824137F, // 0112 GETMBR R9 R9 K127
|
||||
0x900EC809, // 0113 SETMBR R3 K100 R9
|
||||
0x4C240000, // 0114 LDNIL R9
|
||||
0x80041200, // 0115 RET 1 R9
|
||||
@@ -1703,11 +1704,11 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x54220005, // 0117 LDINT R8 6
|
||||
0x1C200E08, // 0118 EQ R8 R7 R8
|
||||
0x782200BA, // 0119 JMPF R8 #01D5
|
||||
0xB822FE00, // 011A GETNGBL R8 K127
|
||||
0xB8230000, // 011A GETNGBL R8 K128
|
||||
0x60240008, // 011B GETGBL R9 G8
|
||||
0x5C280400, // 011C MOVE R10 R2
|
||||
0x7C240200, // 011D CALL R9 1
|
||||
0x00270009, // 011E ADD R9 K128 R9
|
||||
0x00270209, // 011E ADD R9 K129 R9
|
||||
0x542A0003, // 011F LDINT R10 4
|
||||
0x7C200400, // 0120 CALL R8 2
|
||||
0x8C200541, // 0121 GETMET R8 R2 K65
|
||||
@@ -1731,38 +1732,38 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x8C300541, // 0133 GETMET R12 R2 K65
|
||||
0x543A0003, // 0134 LDINT R14 4
|
||||
0x7C300400, // 0135 CALL R12 2
|
||||
0x8C340381, // 0136 GETMET R13 R1 K129
|
||||
0x8C340382, // 0136 GETMET R13 R1 K130
|
||||
0x7C340200, // 0137 CALL R13 1
|
||||
0x4C380000, // 0138 LDNIL R14
|
||||
0x1C341A0E, // 0139 EQ R13 R13 R14
|
||||
0x78360005, // 013A JMPF R13 #0141
|
||||
0xB836FE00, // 013B GETNGBL R13 K127
|
||||
0x58380082, // 013C LDCONST R14 K130
|
||||
0xB8370000, // 013B GETNGBL R13 K128
|
||||
0x58380083, // 013C LDCONST R14 K131
|
||||
0x583C000D, // 013D LDCONST R15 K13
|
||||
0x7C340400, // 013E CALL R13 2
|
||||
0x4C340000, // 013F LDNIL R13
|
||||
0x80041A00, // 0140 RET 1 R13
|
||||
0x88340136, // 0141 GETMBR R13 R0 K54
|
||||
0x88341B37, // 0142 GETMBR R13 R13 K55
|
||||
0x8C341B83, // 0143 GETMET R13 R13 K131
|
||||
0x8C341B84, // 0143 GETMET R13 R13 K132
|
||||
0x7C340200, // 0144 CALL R13 1
|
||||
0x8C381B84, // 0145 GETMET R14 R13 K132
|
||||
0x8C400381, // 0146 GETMET R16 R1 K129
|
||||
0x8C381B85, // 0145 GETMET R14 R13 K133
|
||||
0x8C400382, // 0146 GETMET R16 R1 K130
|
||||
0x7C400200, // 0147 CALL R16 1
|
||||
0x7C380400, // 0148 CALL R14 2
|
||||
0x8C381B85, // 0149 GETMET R14 R13 K133
|
||||
0x8C381B86, // 0149 GETMET R14 R13 K134
|
||||
0x5C401000, // 014A MOVE R16 R8
|
||||
0x5C441200, // 014B MOVE R17 R9
|
||||
0x7C380600, // 014C CALL R14 3
|
||||
0x8C381B86, // 014D GETMET R14 R13 K134
|
||||
0x8C381B87, // 014D GETMET R14 R13 K135
|
||||
0x5C401400, // 014E MOVE R16 R10
|
||||
0x7C380400, // 014F CALL R14 2
|
||||
0x8C381B87, // 0150 GETMET R14 R13 K135
|
||||
0x8C381B88, // 0150 GETMET R14 R13 K136
|
||||
0x5C401600, // 0151 MOVE R16 R11
|
||||
0x5C441800, // 0152 MOVE R17 R12
|
||||
0x7C380600, // 0153 CALL R14 3
|
||||
0x8C381B88, // 0154 GETMET R14 R13 K136
|
||||
0x8C400389, // 0155 GETMET R16 R1 K137
|
||||
0x8C381B89, // 0154 GETMET R14 R13 K137
|
||||
0x8C40038A, // 0155 GETMET R16 R1 K138
|
||||
0x7C400200, // 0156 CALL R16 1
|
||||
0x7C380400, // 0157 CALL R14 2
|
||||
0xB83A0200, // 0158 GETNGBL R14 K1
|
||||
@@ -1770,7 +1771,7 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x8C381D3F, // 015A GETMET R14 R14 K63
|
||||
0x5C401000, // 015B MOVE R16 R8
|
||||
0x7C380400, // 015C CALL R14 2
|
||||
0x8C3C1D8A, // 015D GETMET R15 R14 K138
|
||||
0x8C3C1D8B, // 015D GETMET R15 R14 K139
|
||||
0x54460005, // 015E LDINT R17 6
|
||||
0x7C3C0400, // 015F CALL R15 2
|
||||
0x8C401F41, // 0160 GETMET R16 R15 K65
|
||||
@@ -1783,8 +1784,8 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x784A0001, // 0167 JMPF R18 #016A
|
||||
0x5C482200, // 0168 MOVE R18 R17
|
||||
0x744A0005, // 0169 JMPT R18 #0170
|
||||
0xB84AFE00, // 016A GETNGBL R18 K127
|
||||
0x584C008B, // 016B LDCONST R19 K139
|
||||
0xB84B0000, // 016A GETNGBL R18 K128
|
||||
0x584C008C, // 016B LDCONST R19 K140
|
||||
0x5850000D, // 016C LDCONST R20 K13
|
||||
0x7C480400, // 016D CALL R18 2
|
||||
0x50480000, // 016E LDBOOL R18 0 0
|
||||
@@ -1795,14 +1796,14 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x1C482562, // 0173 EQ R18 R18 K98
|
||||
0x784A0007, // 0174 JMPF R18 #017D
|
||||
0xB84A5C00, // 0175 GETNGBL R18 K46
|
||||
0x8C48258C, // 0176 GETMET R18 R18 K140
|
||||
0x8C48258D, // 0176 GETMET R18 R18 K141
|
||||
0x5C502000, // 0177 MOVE R20 R16
|
||||
0x7C480400, // 0178 CALL R18 2
|
||||
0x8C48258D, // 0179 GETMET R18 R18 K141
|
||||
0x8C48258E, // 0179 GETMET R18 R18 K142
|
||||
0x7C480200, // 017A CALL R18 1
|
||||
0x5C402400, // 017B MOVE R16 R18
|
||||
0x70020002, // 017C JMP #0180
|
||||
0x8C48218D, // 017D GETMET R18 R16 K141
|
||||
0x8C48218E, // 017D GETMET R18 R16 K142
|
||||
0x7C480200, // 017E CALL R18 1
|
||||
0x5C402400, // 017F MOVE R16 R18
|
||||
0x60480004, // 0180 GETGBL R18 G4
|
||||
@@ -1811,32 +1812,32 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x1C482562, // 0183 EQ R18 R18 K98
|
||||
0x784A0007, // 0184 JMPF R18 #018D
|
||||
0xB84A5C00, // 0185 GETNGBL R18 K46
|
||||
0x8C48258C, // 0186 GETMET R18 R18 K140
|
||||
0x8C48258D, // 0186 GETMET R18 R18 K141
|
||||
0x5C502200, // 0187 MOVE R20 R17
|
||||
0x7C480400, // 0188 CALL R18 2
|
||||
0x8C48258D, // 0189 GETMET R18 R18 K141
|
||||
0x8C48258E, // 0189 GETMET R18 R18 K142
|
||||
0x7C480200, // 018A CALL R18 1
|
||||
0x5C442400, // 018B MOVE R17 R18
|
||||
0x70020002, // 018C JMP #0190
|
||||
0x8C48238D, // 018D GETMET R18 R17 K141
|
||||
0x8C48238E, // 018D GETMET R18 R17 K142
|
||||
0x7C480200, // 018E CALL R18 1
|
||||
0x5C442400, // 018F MOVE R17 R18
|
||||
0x8C48038E, // 0190 GETMET R18 R1 K142
|
||||
0x8C48038F, // 0190 GETMET R18 R1 K143
|
||||
0x7C480200, // 0191 CALL R18 1
|
||||
0x404E138F, // 0192 CONNECT R19 K9 K143
|
||||
0x404E1390, // 0192 CONNECT R19 K9 K144
|
||||
0x94482413, // 0193 GETIDX R18 R18 R19
|
||||
0x604C0015, // 0194 GETGBL R19 G21
|
||||
0x7C4C0000, // 0195 CALL R19 0
|
||||
0x8C4C2790, // 0196 GETMET R19 R19 K144
|
||||
0x58540091, // 0197 LDCONST R21 K145
|
||||
0x8C4C2791, // 0196 GETMET R19 R19 K145
|
||||
0x58540092, // 0197 LDCONST R21 K146
|
||||
0x7C4C0400, // 0198 CALL R19 2
|
||||
0x8C500992, // 0199 GETMET R20 R4 K146
|
||||
0x8C500993, // 0199 GETMET R20 R4 K147
|
||||
0x7C500200, // 019A CALL R20 1
|
||||
0x8C542193, // 019B GETMET R21 R16 K147
|
||||
0x8C542194, // 019B GETMET R21 R16 K148
|
||||
0x7C540200, // 019C CALL R21 1
|
||||
0x8C542B94, // 019D GETMET R21 R21 K148
|
||||
0x8C542B95, // 019D GETMET R21 R21 K149
|
||||
0x7C540200, // 019E CALL R21 1
|
||||
0x8C582995, // 019F GETMET R22 R20 K149
|
||||
0x8C582996, // 019F GETMET R22 R20 K150
|
||||
0x5C602400, // 01A0 MOVE R24 R18
|
||||
0x5C642A00, // 01A1 MOVE R25 R21
|
||||
0x5C682600, // 01A2 MOVE R26 R19
|
||||
@@ -1849,28 +1850,28 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x885C0136, // 01A9 GETMBR R23 R0 K54
|
||||
0x885C2F4A, // 01AA GETMBR R23 R23 K74
|
||||
0x885C2F4D, // 01AB GETMBR R23 R23 K77
|
||||
0x8C601B96, // 01AC GETMET R24 R13 K150
|
||||
0x8C601B97, // 01AC GETMET R24 R13 K151
|
||||
0x5C682000, // 01AD MOVE R26 R16
|
||||
0x5C6C2200, // 01AE MOVE R27 R17
|
||||
0x5C702C00, // 01AF MOVE R28 R22
|
||||
0x5C742E00, // 01B0 MOVE R29 R23
|
||||
0x7C600A00, // 01B1 CALL R24 5
|
||||
0x8C601B97, // 01B2 GETMET R24 R13 K151
|
||||
0x8C601B98, // 01B2 GETMET R24 R13 K152
|
||||
0x7C600200, // 01B3 CALL R24 1
|
||||
0x88600136, // 01B4 GETMBR R24 R0 K54
|
||||
0x8860314A, // 01B5 GETMBR R24 R24 K74
|
||||
0x8C603198, // 01B6 GETMET R24 R24 K152
|
||||
0x8C603199, // 01B6 GETMET R24 R24 K153
|
||||
0x5C681A00, // 01B7 MOVE R26 R13
|
||||
0x7C600400, // 01B8 CALL R24 2
|
||||
0x8C600399, // 01B9 GETMET R24 R1 K153
|
||||
0x8C60039A, // 01B9 GETMET R24 R1 K154
|
||||
0x7C600200, // 01BA CALL R24 1
|
||||
0x78620002, // 01BB JMPF R24 #01BF
|
||||
0x8C60039A, // 01BC GETMET R24 R1 K154
|
||||
0x8C60039B, // 01BC GETMET R24 R1 K155
|
||||
0x546A003B, // 01BD LDINT R26 60
|
||||
0x7C600400, // 01BE CALL R24 2
|
||||
0x8C601B9B, // 01BF GETMET R24 R13 K155
|
||||
0x8C601B9C, // 01BF GETMET R24 R13 K156
|
||||
0x7C600200, // 01C0 CALL R24 1
|
||||
0x8C601B9C, // 01C1 GETMET R24 R13 K156
|
||||
0x8C601B9D, // 01C1 GETMET R24 R13 K157
|
||||
0x7C600200, // 01C2 CALL R24 1
|
||||
0x8C600B0A, // 01C3 GETMET R24 R5 K10
|
||||
0x7C600200, // 01C4 CALL R24 1
|
||||
@@ -1878,7 +1879,7 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x586C0005, // 01C6 LDCONST R27 K5
|
||||
0x88700B0E, // 01C7 GETMBR R28 R5 K14
|
||||
0xB8760200, // 01C8 GETNGBL R29 K1
|
||||
0x88743B7E, // 01C9 GETMBR R29 R29 K126
|
||||
0x88743B7F, // 01C9 GETMBR R29 R29 K127
|
||||
0x7C640800, // 01CA CALL R25 4
|
||||
0x8C64310B, // 01CB GETMET R25 R24 K11
|
||||
0x586C0009, // 01CC LDCONST R27 K9
|
||||
@@ -1896,20 +1897,20 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x8C200541, // 01D8 GETMET R8 R2 K65
|
||||
0x58280005, // 01D9 LDCONST R10 K5
|
||||
0x7C200400, // 01DA CALL R8 2
|
||||
0x8C24039D, // 01DB GETMET R9 R1 K157
|
||||
0x8C24039E, // 01DB GETMET R9 R1 K158
|
||||
0x5C2C1000, // 01DC MOVE R11 R8
|
||||
0x7C240400, // 01DD CALL R9 2
|
||||
0xB826FE00, // 01DE GETNGBL R9 K127
|
||||
0xB8270000, // 01DE GETNGBL R9 K128
|
||||
0x60280018, // 01DF GETGBL R10 G24
|
||||
0x582C009E, // 01E0 LDCONST R11 K158
|
||||
0x582C009F, // 01E0 LDCONST R11 K159
|
||||
0x88300349, // 01E1 GETMBR R12 R1 K73
|
||||
0x8C30199F, // 01E2 GETMET R12 R12 K159
|
||||
0x8C3019A0, // 01E2 GETMET R12 R12 K160
|
||||
0x7C300200, // 01E3 CALL R12 1
|
||||
0x8C301993, // 01E4 GETMET R12 R12 K147
|
||||
0x8C301994, // 01E4 GETMET R12 R12 K148
|
||||
0x7C300200, // 01E5 CALL R12 1
|
||||
0x8C301994, // 01E6 GETMET R12 R12 K148
|
||||
0x8C301995, // 01E6 GETMET R12 R12 K149
|
||||
0x7C300200, // 01E7 CALL R12 1
|
||||
0x8C3019A0, // 01E8 GETMET R12 R12 K160
|
||||
0x8C3019A1, // 01E8 GETMET R12 R12 K161
|
||||
0x7C300200, // 01E9 CALL R12 1
|
||||
0x60340008, // 01EA GETGBL R13 G8
|
||||
0x5C381000, // 01EB MOVE R14 R8
|
||||
@@ -1923,7 +1924,7 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x58300005, // 01F3 LDCONST R12 K5
|
||||
0x88340B0E, // 01F4 GETMBR R13 R5 K14
|
||||
0xB83A0200, // 01F5 GETNGBL R14 K1
|
||||
0x88381D7E, // 01F6 GETMBR R14 R14 K126
|
||||
0x88381D7F, // 01F6 GETMBR R14 R14 K127
|
||||
0x7C280800, // 01F7 CALL R10 4
|
||||
0x8C28130B, // 01F8 GETMET R10 R9 K11
|
||||
0x58300009, // 01F9 LDCONST R12 K9
|
||||
@@ -1946,8 +1947,8 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x60240008, // 020A GETGBL R9 G8
|
||||
0x5C281000, // 020B MOVE R10 R8
|
||||
0x7C240200, // 020C CALL R9 1
|
||||
0x00274209, // 020D ADD R9 K161 R9
|
||||
0x900EFE09, // 020E SETMBR R3 K127 R9
|
||||
0x00274409, // 020D ADD R9 K162 R9
|
||||
0x900F0009, // 020E SETMBR R3 K128 R9
|
||||
0x60240010, // 020F GETGBL R9 G16
|
||||
0x88280136, // 0210 GETMBR R10 R0 K54
|
||||
0x88281537, // 0211 GETMBR R10 R10 K55
|
||||
@@ -1961,10 +1962,10 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x7C2C0200, // 0219 CALL R11 1
|
||||
0x1C2C1608, // 021A EQ R11 R11 R8
|
||||
0x782E0018, // 021B JMPF R11 #0235
|
||||
0x8C2C15A2, // 021C GETMET R11 R10 K162
|
||||
0x8C2C15A3, // 021C GETMET R11 R10 K163
|
||||
0x7C2C0200, // 021D CALL R11 1
|
||||
0xB82E2400, // 021E GETNGBL R11 K18
|
||||
0x8C2C17A3, // 021F GETMET R11 R11 K163
|
||||
0x8C2C17A4, // 021F GETMET R11 R11 K164
|
||||
0x543607CF, // 0220 LDINT R13 2000
|
||||
0x84380000, // 0221 CLOSURE R14 P0
|
||||
0x7C2C0600, // 0222 CALL R11 3
|
||||
@@ -1974,7 +1975,7 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x58380005, // 0226 LDCONST R14 K5
|
||||
0x883C0B0E, // 0227 GETMBR R15 R5 K14
|
||||
0xB8420200, // 0228 GETNGBL R16 K1
|
||||
0x8840217E, // 0229 GETMBR R16 R16 K126
|
||||
0x8840217F, // 0229 GETMBR R16 R16 K127
|
||||
0x7C300800, // 022A CALL R12 4
|
||||
0x8C30170B, // 022B GETMET R12 R11 K11
|
||||
0x58380009, // 022C LDCONST R14 K9
|
||||
@@ -1991,12 +1992,12 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x5824003E, // 0237 LDCONST R9 K62
|
||||
0xAC240200, // 0238 CATCH R9 1 0
|
||||
0xB0080000, // 0239 RAISE 2 R0 R0
|
||||
0xB826FE00, // 023A GETNGBL R9 K127
|
||||
0xB8270000, // 023A GETNGBL R9 K128
|
||||
0x60280008, // 023B GETGBL R10 G8
|
||||
0x5C2C1000, // 023C MOVE R11 R8
|
||||
0x7C280200, // 023D CALL R10 1
|
||||
0x002B480A, // 023E ADD R10 K164 R10
|
||||
0x002815A5, // 023F ADD R10 R10 K165
|
||||
0x002B4A0A, // 023E ADD R10 K165 R10
|
||||
0x002815A6, // 023F ADD R10 R10 K166
|
||||
0x582C000D, // 0240 LDCONST R11 K13
|
||||
0x7C240400, // 0241 CALL R9 2
|
||||
0xB8260200, // 0242 GETNGBL R9 K1
|
||||
@@ -2026,15 +2027,15 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x8C300541, // 025A GETMET R12 R2 K65
|
||||
0x543A0003, // 025B LDINT R14 4
|
||||
0x7C300400, // 025C CALL R12 2
|
||||
0xB836FE00, // 025D GETNGBL R13 K127
|
||||
0xB8370000, // 025D GETNGBL R13 K128
|
||||
0x60380018, // 025E GETGBL R14 G24
|
||||
0x583C00A6, // 025F LDCONST R15 K166
|
||||
0x583C00A7, // 025F LDCONST R15 K167
|
||||
0x5C401000, // 0260 MOVE R16 R8
|
||||
0x8C4413A0, // 0261 GETMET R17 R9 K160
|
||||
0x8C4413A1, // 0261 GETMET R17 R9 K161
|
||||
0x7C440200, // 0262 CALL R17 1
|
||||
0x5C481400, // 0263 MOVE R18 R10
|
||||
0x5C4C1600, // 0264 MOVE R19 R11
|
||||
0x8C5019A0, // 0265 GETMET R20 R12 K160
|
||||
0x8C5019A1, // 0265 GETMET R20 R12 K161
|
||||
0x7C500200, // 0266 CALL R20 1
|
||||
0x7C380C00, // 0267 CALL R14 6
|
||||
0x543E0003, // 0268 LDINT R15 4
|
||||
@@ -2055,7 +2056,7 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x1C34180D, // 0277 EQ R13 R12 R13
|
||||
0x78360005, // 0278 JMPF R13 #027F
|
||||
0xB8360200, // 0279 GETNGBL R13 K1
|
||||
0x88341BA7, // 027A GETMBR R13 R13 K167
|
||||
0x88341BA8, // 027A GETMBR R13 R13 K168
|
||||
0x900EC80D, // 027B SETMBR R3 K100 R13
|
||||
0x4C340000, // 027C LDNIL R13
|
||||
0xA0000000, // 027D CLOSE R0
|
||||
@@ -2080,8 +2081,8 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x543A001F, // 0290 LDINT R14 32
|
||||
0x24341A0E, // 0291 GT R13 R13 R14
|
||||
0x78360009, // 0292 JMPF R13 #029D
|
||||
0xB836FE00, // 0293 GETNGBL R13 K127
|
||||
0x583800A8, // 0294 LDCONST R14 K168
|
||||
0xB8370000, // 0293 GETNGBL R13 K128
|
||||
0x583800A9, // 0294 LDCONST R14 K169
|
||||
0x583C000D, // 0295 LDCONST R15 K13
|
||||
0x7C340400, // 0296 CALL R13 2
|
||||
0xB8360200, // 0297 GETNGBL R13 K1
|
||||
@@ -2094,11 +2095,11 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x40360A0D, // 029E CONNECT R13 K5 R13
|
||||
0x9434120D, // 029F GETIDX R13 R9 R13
|
||||
0x543A001F, // 02A0 LDINT R14 32
|
||||
0x40381D8F, // 02A1 CONNECT R14 R14 K143
|
||||
0x40381D90, // 02A1 CONNECT R14 R14 K144
|
||||
0x9438120E, // 02A2 GETIDX R14 R9 R14
|
||||
0x883C0136, // 02A3 GETMBR R15 R0 K54
|
||||
0x883C1F4A, // 02A4 GETMBR R15 R15 K74
|
||||
0x8C3C1FA9, // 02A5 GETMET R15 R15 K169
|
||||
0x8C3C1FAA, // 02A5 GETMET R15 R15 K170
|
||||
0x5C441000, // 02A6 MOVE R17 R8
|
||||
0x5C481600, // 02A7 MOVE R18 R11
|
||||
0x5C4C1400, // 02A8 MOVE R19 R10
|
||||
@@ -2117,16 +2118,16 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x8C200541, // 02B5 GETMET R8 R2 K65
|
||||
0x58280005, // 02B6 LDCONST R10 K5
|
||||
0x7C200400, // 02B7 CALL R8 2
|
||||
0xB826FE00, // 02B8 GETNGBL R9 K127
|
||||
0xB8270000, // 02B8 GETNGBL R9 K128
|
||||
0x60280008, // 02B9 GETGBL R10 G8
|
||||
0x5C2C1000, // 02BA MOVE R11 R8
|
||||
0x7C280200, // 02BB CALL R10 1
|
||||
0x002B540A, // 02BC ADD R10 K170 R10
|
||||
0x002B560A, // 02BC ADD R10 K171 R10
|
||||
0x582C000F, // 02BD LDCONST R11 K15
|
||||
0x7C240400, // 02BE CALL R9 2
|
||||
0x88240136, // 02BF GETMBR R9 R0 K54
|
||||
0x8824134A, // 02C0 GETMBR R9 R9 K74
|
||||
0x8C2413AB, // 02C1 GETMET R9 R9 K171
|
||||
0x8C2413AC, // 02C1 GETMET R9 R9 K172
|
||||
0x5C2C1000, // 02C2 MOVE R11 R8
|
||||
0x7C240400, // 02C3 CALL R9 2
|
||||
0x50240200, // 02C4 LDBOOL R9 1 0
|
||||
@@ -2137,7 +2138,7 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x78220006, // 02C9 JMPF R8 #02D1
|
||||
0x88200136, // 02CA GETMBR R8 R0 K54
|
||||
0x8820114A, // 02CB GETMBR R8 R8 K74
|
||||
0x8C2011AC, // 02CC GETMET R8 R8 K172
|
||||
0x8C2011AD, // 02CC GETMET R8 R8 K173
|
||||
0x7C200200, // 02CD CALL R8 1
|
||||
0x50200200, // 02CE LDBOOL R8 1 0
|
||||
0xA0000000, // 02CF CLOSE R0
|
||||
@@ -2155,7 +2156,7 @@ be_local_closure(class_Matter_Plugin_Root_invoke_request, /* name */
|
||||
0x60200003, // 02DB GETGBL R8 G3
|
||||
0x5C240000, // 02DC MOVE R9 R0
|
||||
0x7C200200, // 02DD CALL R8 1
|
||||
0x8C2011AD, // 02DE GETMET R8 R8 K173
|
||||
0x8C2011AE, // 02DE GETMET R8 R8 K174
|
||||
0x5C280200, // 02DF MOVE R10 R1
|
||||
0x5C2C0400, // 02E0 MOVE R11 R2
|
||||
0x5C300600, // 02E1 MOVE R12 R3
|
||||
|
||||
Reference in New Issue
Block a user