LibItsSecurity_Pixits.ttcn3 10.6 KB
Newer Older
garciay's avatar
garciay committed
/**
 *  @author   ETSI / STF481
 *  @version  $URL$
 *            $Id$
 *  @desc     Module containing Pixits for Security Protocol
 *
 */
module LibItsSecurity_Pixits {
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 integer 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
                }
            },
            subject_info        := m_subject_info_root_ca(
                '455453495f506c7567746573745f526f6f74'O // ETSI_Plugtest_Root
            ),
            subject_attributes  := {
                m_subject_attribute_verification_key(
                    m_publicKey_eccPoint(
                        m_eccPointecdsa_nistp256_with_sha256_uncompressed(
garciay's avatar
garciay committed
                            'bf8a03e7a5c26ecc9cde8199ac933b4f934ea2e5555acffd71c81e127ef15a75'O,
                            'ed5f95ea1ec498d2bd01974676e7812bbffd0cac6f37db20cf8791e3a458a7d9'O
                        )
                    )
                ),
                m_subject_attribute_encryption_key(
                    m_publicKey_aesccm(
                        m_aesccm(
                            m_eccPointecdsa_nistp256_with_sha256_uncompressed(
garciay's avatar
garciay committed
                                'bcdc54771cb782683d4cdeca0853d11600756ace9120b672caba69976b145f6f'O,
                                '49a72be0141b8ed085371cb33aa4c2dc2c80aee7448a130d07d38cdda65ca780'O
                            )
                        )
                    )
                ),
                m_subject_attribute_assurance_level(
                    m_subjectAssurance(
                        '001'B, 
                        '00'B
                    )
                ),
                m_subject_attribute_its_aid_list(
                    { 
                        16512,
                        16513
                    }
                )
            },
            validity_restrictions   := {
                m_validity_restriction_time_start_and_end(
garciay's avatar
garciay committed
                    1408802285,
                    1513691885
                ),
                m_validity_restriction_region(
                    m_geographicRegion_polygonial(
                        {
                            {
                                latitude    := 498716540, 
                                longitude   := 86382080
                            }, 
                            {
                                latitude    := 498685550, 
                                longitude   := 86411050
                            }, 
                            {
                                latitude    := 492040400, 
                                longitude   := 86475600
                            } 
                        }
                    )
                )
            },
            signature_              := m_signature(
                m_ecdsaSignature(
                    m_eccPointecdsa_nistp256_with_sha256_x_coordinate_only(
garciay's avatar
garciay committed
                        '41001bca24d594da442a1e653dd618ccddca435ac6308b53018e881dea14a31e'O
garciay's avatar
garciay committed
                    '64b7d4da721ef2ff7c67563b4bf16ad79b3288a3878c821dfe394c5484ca7f79'O
                )
            )
        } // End of config #0
     * @desc AA certificates to be used by the Test Adapter
    modulepar CertificateChain PX_AA_CERTIFICATES := {
        { // Config #0
            version             := 2,
            signer_infos        := {
                {
                    type_         := e_certificate,
                    signerInfo    := {
                        certificate := PX_CA_CERTIFICATES[0]
                    } // End of field signerInfo
                } 
            },
            subject_info        := m_subject_info_authorization_authority(
                '455453495F506C7567746573745F4141'O // ETSI_Plugtest_Root
            ),
            subject_attributes  := {
                m_subject_attribute_verification_key(
                    m_publicKey_eccPoint(
                        m_eccPointecdsa_nistp256_with_sha256_uncompressed(
garciay's avatar
garciay committed
                            'f4c5e1e8650fef248fb90a38499c11fe8e4a58ed25c368ee36790232e0d770f5'O,
                            '619f7174da9629f981f5d365e3eddfe406ffe4920c723dad473a87b5b05ae57f'O
                        )
                    )
                ),
                m_subject_attribute_encryption_key(
                    m_publicKey_aesccm(
                        m_aesccm(
                            m_eccPointecdsa_nistp256_with_sha256_uncompressed(
garciay's avatar
garciay committed
                                '5b36e9ab76e977f6cb1b822e8bdee82ee72f28f1055128c0051c9f85699abebe'O,
                                '5b36e9ab76e977f6cb1b822e8bdee82ee72f28f1055128c0051c9f85699abebe'O
                            )
                        )
                    )
                ),
                m_subject_attribute_assurance_level(
                    m_subjectAssurance(
                        '001'B, 
                        '00'B
                    )
                ),
                m_subject_attribute_its_aid_list(
                    { 
                        16512,
                        16513
                    }
                )
            },
            validity_restrictions   := {
                m_validity_restriction_time_start_and_end(
garciay's avatar
garciay committed
                    1408802285,
                    1513691885
                ),
                m_validity_restriction_region(
                    m_geographicRegion_polygonial(
                        {
                            {
                                latitude    := 498716540, 
                                longitude   := 86382080
                            }, 
                            {
                                latitude    := 498685550, 
                                longitude   := 86411050
                            }, 
                            {
                                latitude    := 492040400, 
                                longitude   := 86475600
                            } 
                        }
                    )
                )
            },
            signature_              := m_signature(
                m_ecdsaSignature(
                    m_eccPointecdsa_nistp256_with_sha256_x_coordinate_only(
garciay's avatar
garciay committed
                        'be28371f8b18d411581c10f30310128625f78f9c69761757d58203c6c757f38e'O
garciay's avatar
garciay committed
                    'c10d683159c9a52bc3f3e9563194ccaf694cadac56cbaee575bc7366f02ea09d'O
                )
            )
        } // End of config #0
        // TODO Add additional configurations
    };
    
    /**
     * @desc AT certificates to be used by the Test Adapter
    modulepar CertificateChain PX_AT_CERTIFICATES := {
        { // Config #0
                {
                    type_         := e_certificate_digest_with_ecdsap256,
                    signerInfo    := {
                        digest := '6dbeefd92c7f36db'O
                    } // End of field signerInfo
                } 
            },
            subject_info        := m_subject_info_authorization_ticket,
            subject_attributes  := {
                m_subject_attribute_verification_key(
                    m_publicKey_eccPoint(
                        m_eccPointecdsa_nistp256_with_sha256_uncompressed(
garciay's avatar
garciay committed
                            'b462520bee11df3cd826e969e4db0ba4327e686e2526fa05bffa617773d217fd'O,
                            'ca45fb75c453430521484332a0835f5bb690201b1ef3d8fe2c43bdf2eb3865a6'O
                        )
                    )
                ),
                m_subject_attribute_encryption_key(
                    m_publicKey_aesccm(
                        m_aesccm(
                            m_eccPointecdsa_nistp256_with_sha256_uncompressed(
garciay's avatar
garciay committed
                                '9f803aaf544262eb522c5ce2332f018cac4d9817b6fddda97d12b01bcdaf56f9'O,
                                '2bf1ea0b3d0d969cb5d3c1d5fce9eba043d340b76ba7f44e4fc83d6f753517cf'O
                            )
                        )
                    )
                ),
                m_subject_attribute_assurance_level(
                    m_subjectAssurance(
                        '001'B, 
                        '00'B
                    )
                ),
                m_subject_attribute_its_aid_list(
                    { 
                        16512,
                        16513
                    }
                )
            },
            validity_restrictions   := {
                m_validity_restriction_time_start_and_end(
garciay's avatar
garciay committed
                    1408802285,
                    1513691885
                )
            },
            signature_              := m_signature(
                m_ecdsaSignature(
                    m_eccPointecdsa_nistp256_with_sha256_x_coordinate_only(
garciay's avatar
garciay committed
                        'd8dfca3197ff2177e8d7e169266a7e78192f0c656ceb07f1e2035044509c0560'O
garciay's avatar
garciay committed
                    '9c7efb2f953a2019d7a0c7a0cd7ce5a52cc1544ee92cafa74857b1489f419f46'O
        } // End of config #0
     * @desc 3D locations
    modulepar ThreeDLocations PX_TRHEED_LOCATIONS := {
        { // Config #0
            latitude    := 12345,
            longitude   := 12345,
            elevation   := '020E'O
        } // End of config #0
        // TODO Add additional configurations
    };
    
    /**
     * @desc Desscribes the Test Adapter security configurations
     */
    modulepar TaConfigs PX_TA_CONFIGS := {
        { // Config #0
garciay's avatar
garciay committed
            signingPrivateKey   := '56fc91b6d762529c670555a326120a210738a8718cc68e2db8f1e4b0643fc3e0'O,
            encryptPrivateKey   := 'b462520bee11df3cd826e969e4db0ba4327e686e2526fa05bffa617773d217fd'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
        // TODO Add additional configurations
    }; // End of modulepar PX_TA_CONFIGS
    
garciay's avatar
garciay committed
} // End of module LibItsSecurity_Pixits