| 872 | |
| 873 | |
| 874 | class IKEv2_CERT(IKEv2_Payload): |
| 875 | name = "IKEv2 Certificate" |
| 876 | fields_desc = IKEv2_Payload.fields_desc[:3] + [ |
| 877 | ByteEnumField("cert_encoding", 4, IKEv2CertificateEncodings), |
| 878 | MultipleTypeField( |
| 879 | [ |
| 880 | (PacketLenField("cert_data", X509_Cert(), X509_Cert, |
| 881 | length_from=lambda pkt: pkt.length - 5), |
| 882 | lambda pkt: pkt.cert_encoding == 4), |
| 883 | (PacketLenField("cert_data", X509_CRL(), X509_CRL, |
| 884 | length_from=lambda pkt: pkt.length - 5), |
| 885 | lambda pkt: pkt.cert_encoding == 7) |
| 886 | ], |
| 887 | XStrLenField("cert_data", "", length_from=lambda pkt: pkt.length - 5), |
| 888 | ) |
| 889 | ] |
| 890 | |
| 891 | |
| 892 | # TODO: the following payloads are not fully dissected yet |
nothing calls this directly
no test coverage detected