LibItsSecurity_Pixits.ttcn3 22.9 KB
Newer Older
garciay's avatar
garciay committed
/**
 *  @author   ETSI / STF481
 *  @version  $URL$
 *            $Id$
 *  @desc     Module containing Pixits for Security Protocol
 *
 */
module LibItsSecurity_Pixits {
    import from LibCommon_BasicTypesAndValues all;
garciay's avatar
garciay committed
    // LibItsSecurity
    import from LibItsSecurity_TypesAndValues all;
    import from LibItsSecurity_Templates all;
garciay's avatar
garciay committed
    
     * @desc Index on the certificate to be used. Default: configuration #0
    modulepar UInt PX_CERTIFICATE_CONFIG_IDX := 0;
     * @desc CA certificates to be used by the Test Adapter
    modulepar CertificateChain PX_CA_CERTIFICATES := {
        { // Config #0
            version             := 2,
            signer_infos        := {
                {                     
                    type_         := e_self,
                    signerInfo    := omit
                }
            },
garciay's avatar
garciay committed
            subject_info        := valueof(m_subject_info_root_ca(
                '455453495f506c7567746573745f526f6f74'O // ETSI_Plugtest_Root
garciay's avatar
garciay committed
            )),
            subject_attributes  := {
garciay's avatar
garciay committed
                valueof(m_subject_attribute_verification_key(
                    m_publicKey_eccPoint(
                        m_eccPointecdsa_nistp256_with_sha256_uncompressed(
garciay's avatar
garciay committed
                            '99714f76eadcaf3ee8b763d4d57229e906dffcfdb72760bf00793251fce60273'O,
                            '85de158c42e598f56dff1579b827dc2d2e51405e786a9bde41781d8d15fb32e8'O
garciay's avatar
garciay committed
                )),
                valueof(m_subject_attribute_encryption_key(
                    m_publicKey_aesccm(
                        m_aesccm(
                            m_eccPointecdsa_nistp256_with_sha256_uncompressed(
garciay's avatar
garciay committed
                                '50ca984cbfe1e576b10cbb0d31729abde878edfe6ba5dc8b919108376a0c410f'O,
                                '49b3a3b052efb76e227933e8c0d5dfde5fa48a4495934e837d782f5dea3b3c93'O
garciay's avatar
garciay committed
                )),
                valueof(m_subject_attribute_assurance_level(
                    m_subjectAssurance(
                        '001'B, 
                        '00'B
                    )
garciay's avatar
garciay committed
                )),
                valueof(m_subject_attribute_its_aid_list(
garciay's avatar
garciay committed
                ))
            },
            validity_restrictions   := {
garciay's avatar
garciay committed
                valueof(m_validity_restriction_time_start_and_end(
garciay's avatar
garciay committed
                    1409320685,
                    1513691885
garciay's avatar
garciay committed
                )),
                valueof(m_validity_restriction_region(
                    m_geographicRegion_polygonial(
                        {
                            {
                                latitude    := 498716540, 
                                longitude   := 86382080
                            }, 
                            {
                                latitude    := 498685550, 
                                longitude   := 86411050
                            }, 
                            {
                                latitude    := 492040400, 
                                longitude   := 86475600
                            } 
                        }
                    )
garciay's avatar
garciay committed
                ))
garciay's avatar
garciay committed
            signature_              := valueof(m_signature(
                m_ecdsaSignature(
                    m_eccPointecdsa_nistp256_with_sha256_x_coordinate_only(
garciay's avatar
garciay committed
                        '9d0f5242df9b9b459d6a5e4a58bfe0ae04d02354e3afefbb8dad31d9b709b75b'O
garciay's avatar
garciay committed
                    '23c3a850cd15835927cb2da694e9d00a865fe80771d9a7f77b50829491666731'O
garciay's avatar
garciay committed
            ))
        }, // End of config #0
        { // Config #1
            version             := 2,
            signer_infos        := {
                {                     
                    type_         := e_self,
                    signerInfo    := omit
                }
            },
            subject_info        := valueof(m_subject_info_root_ca(
                '455453495f506c7567746573745f526f6f74'O // ETSI_Plugtest_Root
            )),
            subject_attributes  := {
                valueof(m_subject_attribute_verification_key(
                    m_publicKey_eccPoint(
                        m_eccPointecdsa_nistp256_with_sha256_uncompressed(
                            '00eee64d49acb410a6701a44d88fea09a0cd82a055c07720df06eb3dc2ddc38e'O,
                            'b3fd58f18d767a1a69e3be749f4dc968c39cf7387191d5ae23cdb08235fef5de'O
                        )
                    )
                )),
                valueof(m_subject_attribute_encryption_key(
                    m_publicKey_aesccm(
                        m_aesccm(
                            m_eccPointecdsa_nistp256_with_sha256_uncompressed(
                                'e6553f8c2fd5587dbdf7e9529e1325e21044d1e5a0f3b6c69ededa03e03400a9'O,
                                'dbfb791412418770d101f47993a32a93c721265069443ad87ff9ca29815203ce'O
                            )
                        )
                    )
                )),
                valueof(m_subject_attribute_assurance_level(
                    m_subjectAssurance(
                        '001'B, 
                        '00'B
                    )
                )),
                valueof(m_subject_attribute_its_aid_list(
                    { 
                        16512,
                        16513
                    }
                ))
            },
            validity_restrictions   := {
                valueof(m_validity_restriction_time_start_and_end(
                    1411221485,
                    1513691885
                )),
                valueof(m_validity_restriction_region(
                    m_geographicRegion_polygonial(
                        {
                            {
                                latitude    := 498716540, 
                                longitude   := 86382080
                            }, 
                            {
                                latitude    := 498685550, 
                                longitude   := 86411050
                            }, 
                            {
                                latitude    := 492040400, 
                                longitude   := 86475600
                            } 
                        }
                    )
                ))
            },
            signature_              := valueof(m_signature(
                m_ecdsaSignature(
                    m_eccPointecdsa_nistp256_with_sha256_x_coordinate_only(
                        '8a526099f57a9195753c9a01480906ec6eaa6c1000570ad026a5e3437d7fddb6'O
                    ),
                    '42d56f29db683b8d9e0dd2807975e837945e409bd40f3a41650369aa1213ccc5'O
                )
            ))
        } // End of config #1
garciay's avatar
garciay committed
    }; // End of modulepar PX_CA_CERTIFICATES
     * @desc AA certificates to be used by the Test Adapter
    modulepar CertificateChain PX_AA_CERTIFICATES := {
        { // Config #0
            version             := 2,
            signer_infos        := {
                {
                    type_         := e_certificate_digest_with_ecdsap256,
                    signerInfo    := {
garciay's avatar
garciay committed
                        digest := 'bfb9a8d1cc65adac'O
                    } // End of field signerInfo
                } 
            },
garciay's avatar
garciay committed
            subject_info        := valueof(m_subject_info_authorization_authority(
                '455453495F506C7567746573745F4141'O // ETSI_Plugtest_Root
garciay's avatar
garciay committed
            )),
            subject_attributes  := {
garciay's avatar
garciay committed
                valueof(m_subject_attribute_verification_key(
                    m_publicKey_eccPoint(
                        m_eccPointecdsa_nistp256_with_sha256_uncompressed(
garciay's avatar
garciay committed
                            'be85ee62cdf9c0a7ecabedcc2da16705238485f1eedef89522823ad1fa739b67'O,
                            '5f47cbec24a6c9a04db62cce2c62efe9d52a4f369e3761a5c59df78b3aa89880'O
garciay's avatar
garciay committed
                )),
                valueof(m_subject_attribute_encryption_key(
                    m_publicKey_aesccm(
                        m_aesccm(
                            m_eccPointecdsa_nistp256_with_sha256_uncompressed(
garciay's avatar
garciay committed
                                'abe1fb5d4883f108b7cd163bacbe0d232589473715cdbbe91da6a7f6296e1c20'O,
                                'abe1fb5d4883f108b7cd163bacbe0d232589473715cdbbe91da6a7f6296e1c20'O
garciay's avatar
garciay committed
                )),
                valueof(m_subject_attribute_assurance_level(
                    m_subjectAssurance(
                        '001'B, 
                        '00'B
                    )
garciay's avatar
garciay committed
                )),
                valueof(m_subject_attribute_its_aid_list(
garciay's avatar
garciay committed
                ))
            },
            validity_restrictions   := {
garciay's avatar
garciay committed
                valueof(m_validity_restriction_time_start_and_end(
garciay's avatar
garciay committed
                    1409320685,
                    1513691885
garciay's avatar
garciay committed
                )),
                valueof(m_validity_restriction_region(
                    m_geographicRegion_polygonial(
                        {
                            {
                                latitude    := 498716540, 
                                longitude   := 86382080
                            }, 
                            {
                                latitude    := 498685550, 
                                longitude   := 86411050
                            }, 
                            {
                                latitude    := 492040400, 
                                longitude   := 86475600
                            } 
                        }
                    )
garciay's avatar
garciay committed
                ))
garciay's avatar
garciay committed
            signature_              := valueof(m_signature(
                m_ecdsaSignature(
                    m_eccPointecdsa_nistp256_with_sha256_x_coordinate_only(
garciay's avatar
garciay committed
                        'd6390d5a4f7bc5c08be6e0dd1cd5127331bb1b7a7a934a1ea3242ca98156cbbe'O
garciay's avatar
garciay committed
                    'b58aa41fae5813d9df7f05d255880e18837d6c97ec39696c885189d68bf71b42'O
garciay's avatar
garciay committed
            ))
        }, // End of config #0
        { // Config #1
            version             := 2,
            signer_infos        := {
                {
                    type_         := e_certificate_digest_with_ecdsap256,
                    signerInfo    := {
                        digest := '6e3c7a1945325a8e'O
                    } // End of field signerInfo
                } 
            },
            subject_info        := valueof(m_subject_info_authorization_authority(
                '455453495F506C7567746573745F4141'O // ETSI_Plugtest_Root
            )),
            subject_attributes  := {
                valueof(m_subject_attribute_verification_key(
                    m_publicKey_eccPoint(
                        m_eccPointecdsa_nistp256_with_sha256_uncompressed(
                            '3b2c0b7d6b3d85fe11c4d447973d53cc4460f4fef160fa7a7af0cdd69c95cf02'O,
                            '0dcbf45f10191e7a25a0b2932d3f97369c630d561e16c55876afaea7366b110e'O
                        )
                    )
                )),
                valueof(m_subject_attribute_encryption_key(
                    m_publicKey_aesccm(
                        m_aesccm(
                            m_eccPointecdsa_nistp256_with_sha256_uncompressed(
                                '1ec678837728cfd33aea4fbcde2229bcb513478257088d0741da790d3a391173'O,
                                '1ec678837728cfd33aea4fbcde2229bcb513478257088d0741da790d3a391173'O
                            )
                        )
                    )
                )),
                valueof(m_subject_attribute_assurance_level(
                    m_subjectAssurance(
                        '001'B, 
                        '00'B
                    )
                )),
                valueof(m_subject_attribute_its_aid_list(
                    { 
                        16512,
                        16513
                    }
                ))
            },
            validity_restrictions   := {
                valueof(m_validity_restriction_time_start_and_end(
                    1411221485,
                    1513691885
                )),
                valueof(m_validity_restriction_region(
                    m_geographicRegion_polygonial(
                        {
                            {
                                latitude    := 498716540, 
                                longitude   := 86382080
                            }, 
                            {
                                latitude    := 498685550, 
                                longitude   := 86411050
                            }, 
                            {
                                latitude    := 492040400, 
                                longitude   := 86475600
                            } 
                        }
                    )
                ))
            },
            signature_              := valueof(m_signature(
                m_ecdsaSignature(
                    m_eccPointecdsa_nistp256_with_sha256_x_coordinate_only(
                        'af07453bad5bb473c0c39c418b587c50ffbe2364fa536522946884cb3639b8cd'O
                    ),
                    '5dc420e4e9cf72483e8d102ab22f1d54e1a17869cb92b0c7a083fc0b9eec4886'O
                )
            ))
        } // End of config #1
        // TODO Add additional configurations
garciay's avatar
garciay committed
    }; // End of modulepar PX_AA_CERTIFICATES
     * @desc AT certificates to be used by the Test Adapter
    modulepar CertificateChain PX_AT_CERTIFICATES := {
        { // Config #0
                {
                    type_         := e_certificate_digest_with_ecdsap256,
                    signerInfo    := {
garciay's avatar
garciay committed
                        digest := '329196dea5aadf90'O
                    } // End of field signerInfo
                } 
garciay's avatar
garciay committed
            subject_info        := valueof(m_subject_info_authorization_ticket),
garciay's avatar
garciay committed
                valueof(m_subject_attribute_verification_key(
                    m_publicKey_eccPoint(
                        m_eccPointecdsa_nistp256_with_sha256_uncompressed(
garciay's avatar
garciay committed
                            'fa8ed7cf7251c2d5b323e35ff907d70d6b3bf1c1b36a6fdd90b37a497bfb1e9a'O,
                            '43f3074569b232c0f91e74c410bf3ce014a8012dd8cecafff45355cc9cc85c8d'O
garciay's avatar
garciay committed
                )),
                valueof(m_subject_attribute_encryption_key(
                    m_publicKey_aesccm(
                        m_aesccm(
                            m_eccPointecdsa_nistp256_with_sha256_uncompressed(
garciay's avatar
garciay committed
                                '359ef9f14f8f275fea963ebd097e5137047485f1bd5c7e1dad814fdfc5b0df26'O,
                                '29c9fb7ecf32da70afec008988f95bbdcad0013a04c9996c10a03ea68b8af7ac'O
garciay's avatar
garciay committed
                )),
                valueof(m_subject_attribute_assurance_level(
garciay's avatar
garciay committed
                )),
garciay's avatar
garciay committed
                valueof(m_subject_attribute_its_aid_ssp_list(
garciay's avatar
garciay committed
                        {
                            its_aid := 16512,
                            service_specific_permissions := {
                                version := '00'O,
                                sspContainer := omit
                            }
garciay's avatar
garciay committed
                        },
                        {
                            its_aid := 16513,
                            service_specific_permissions := {
                                version := '00'O,
                                sspContainer := omit
                            }
garciay's avatar
garciay committed
                        }
garciay's avatar
garciay committed
                ))
garciay's avatar
garciay committed
                valueof(m_validity_restriction_time_start_and_end(
garciay's avatar
garciay committed
                    1409320685,
garciay's avatar
garciay committed
                )),
                valueof(m_validity_restriction_region(
                    m_geographicRegion_polygonial(
                        {
                            {
                                latitude    := 498716540, 
                                longitude   := 86382080
                            }, 
                            {
                                latitude    := 498685550, 
                                longitude   := 86411050
                            }, 
                            {
                                latitude    := 492040400, 
                                longitude   := 86475600
                            } 
                        }
                    )
garciay's avatar
garciay committed
                ))
garciay's avatar
garciay committed
            signature_              := valueof(m_signature(
                m_ecdsaSignature(
                    m_eccPointecdsa_nistp256_with_sha256_x_coordinate_only(
garciay's avatar
garciay committed
                        '9ba18503dfc211994cfd1a1ecf71f306da9e6980ac2fb091d0797d9b155a2086'O
garciay's avatar
garciay committed
                    '4930abcb59b4feda7a59c3c78cdafce8e804f6fe8cab94afcc84bf568d46497d'O
garciay's avatar
garciay committed
            ))
        }, // End of config #0
        { // Config #1
            version             := 2,
            signer_infos        := {
                {
                    type_         := e_certificate_digest_with_ecdsap256,
                    signerInfo    := {
                        digest := '7596654d7547f8e6'O
                    } // End of field signerInfo
                } 
            },
            subject_info        := valueof(m_subject_info_authorization_ticket),
            subject_attributes  := {
                valueof(m_subject_attribute_verification_key(
                    m_publicKey_eccPoint(
                        m_eccPointecdsa_nistp256_with_sha256_uncompressed(
                            '618a47c3187721ef0c6e01dede26a0dcacff1f4d23bd5b5bf04a9588bee47148'O,
                            'c755d50e642c8ffaec0a39b47c660c0ad12f1f9b3dca1f6c0b3f67bf4fcdbbc0'O
                        )
                    )
                )),
                valueof(m_subject_attribute_encryption_key(
                    m_publicKey_aesccm(
                        m_aesccm(
                            m_eccPointecdsa_nistp256_with_sha256_uncompressed(
                                'e23004a8deb7f7cb29e0d66dff0085427af2be6fb022aadaee5fa84fe3c88035'O,
                                'cfcdeb0afb941cd6551387c2948257be32c483ffe8a17e24d91e47af9b5baacf'O
                            )
                        )
                    )
                )),
                valueof(m_subject_attribute_assurance_level(
                    m_subjectAssurance(
                        '001'B, 
                        '00'B
                    )
                )),
                valueof(m_subject_attribute_its_aid_ssp_list(
                    { 
                        {
                            its_aid := 16512,
                            service_specific_permissions := {
                                version := '00'O,
                                sspContainer := omit
                            }
                        },
                        {
                            its_aid := 16513,
                            service_specific_permissions := {
                                version := '00'O,
                                sspContainer := omit
                            }
                        }
                    }
                ))
            },
            validity_restrictions   := {
                valueof(m_validity_restriction_time_start_and_end(
                    1411221485,
                    1513691885
                )),
                valueof(m_validity_restriction_region(
                    m_geographicRegion_polygonial(
                        {
                            {
                                latitude    := 498716540, 
                                longitude   := 86382080
                            }, 
                            {
                                latitude    := 498685550, 
                                longitude   := 86411050
                            }, 
                            {
                                latitude    := 492040400, 
                                longitude   := 86475600
                            } 
                        }
                    )
                ))
            },
            signature_              := valueof(m_signature(
                m_ecdsaSignature(
                    m_eccPointecdsa_nistp256_with_sha256_x_coordinate_only(
                        'b9780629ed585193a001bd58a93843f598de9a7058e9787ccf90300fcaa17ed8'O
                    ),
                    '1e98dbf16d9f6a5fa9b106f3b8fd1be6947fa1233771ee8a47f787cf583033de'O
                )
            ))
        } // End of config #1
garciay's avatar
garciay committed
    }; // End of modulepar PX_AT_CERTIFICATES
     * @desc 3D locations
    modulepar ThreeDLocations PX_TRHEED_LOCATIONS := {
        { // Config #0
garciay's avatar
garciay committed
            latitude    := 498717000,
            longitude   := 86384000,
            elevation   := '020E'O
        }, // End of config #0
        { // Config #1
            latitude    := 498717020,
            longitude   := 86384020,
            elevation   := '0200'O
        } // End of config #1
        // TODO Add additional configurations
garciay's avatar
garciay committed
    }; // End of modulepar PX_TRHEED_LOCATIONS
garciay's avatar
garciay committed
     * @desc Describes the Test Adapter security configurations
     */
    modulepar TaConfigs PX_TA_CONFIGS := {
        { // Config #0
garciay's avatar
garciay committed
            signingPrivateKey   := '23b10baaad8081052e7a212aeb715f1ef3bb4197b65b09bd5b52e8ac21b04414'O,
            encryptPrivateKey   := '253db07e952cc56d928ef02590fd5f66909be05e8ed5dde36611bb8a43adf836'O,
            caCertificate       := PX_CA_CERTIFICATES[0],
            aaCertificate       := PX_AA_CERTIFICATES[0],
            atCertificate       := PX_AT_CERTIFICATES[0],
            location            := PX_TRHEED_LOCATIONS[0]
        }, // End of config #0
        { // Config #1
            signingPrivateKey   := '268d60c6929ddd30ad5668573638be6c2b5645273a8fe732e0150674d1a57c32'O,
            encryptPrivateKey   := 'd323ca3577f4ae080aced73214716350adf89441a2c9cbfea9d4c10503437943'O,
            caCertificate       := PX_CA_CERTIFICATES[1],
            aaCertificate       := PX_AA_CERTIFICATES[1],
            atCertificate       := PX_AT_CERTIFICATES[1],
            location            := PX_TRHEED_LOCATIONS[1]
        } // End of config #1
        // TODO Add additional configurations
    }; // End of modulepar PX_TA_CONFIGS
    
garciay's avatar
garciay committed
} // End of module LibItsSecurity_Pixits