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(
                            '92bf354400a0e0ab3f2d78637f874ce2b9054db2f355495770c22a60ff7feb55'O,
                            '3131013e3554dafce17f59f10162096bb77ceee7bd562cea9b903d58ca2a5a40'O
                        )
                    )
                ),
                m_subject_attribute_encryption_key(
                    m_publicKey_aesccm(
                        m_aesccm(
                            m_eccPointecdsa_nistp256_with_sha256_uncompressed(
                                'c036c494f2d7e71f98a2229a7d8ea616089fc1c70777b7a3f58306076d67bbf1'O,
                                '605402518fd3b486e5aba36dc12bb9f6c775f64458bca37e64c563789937596d'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(
                    1405173485,
                    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(
                        'ff5f97a03a979cdd4597de08675be9e62c255d6ea4e547e9465326cd2110c693'O
                    ),
                    '803cada03715fb8bc4ee2fd67022cafecf8631be91aa95036fb9a1a7462094c1'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(
                            'caa982273bc9e2461a56cdbf5c9b703cb66ef77c4e94bb3f2c2d5b82677cca5c'O,
                            '06823f000f978f9b3595df26b010b4205a8820fa132f1ab61696e78f417f4859'O
                        )
                    )
                ),
                m_subject_attribute_encryption_key(
                    m_publicKey_aesccm(
                        m_aesccm(
                            m_eccPointecdsa_nistp256_with_sha256_uncompressed(
                                '946ae007565084c07d932f44de1ab6a42af73b8ca71357b86aa70482576c0bf0'O,
                                '946ae007565084c07d932f44de1ab6a42af73b8ca71357b86aa70482576c0bf0'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(
                    1405173485,
                    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(
                        '150186ab08396aa2411590e6cd0863c2496039b177f18aa8eafd7ca52f56e521'O
                    ),
                    '9940d67b4d84699a7db813ad6a374392124fffc93f3b0973130b8c3b27f2753f'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(
                            'e03a1a71ac4acab6459d990154422fceed2ebf9f3f55535a940904c8b8691266'O,
                            '6c0f18f30f5816c88951998e81fb7902e6636569b84b17320fbfe3425f571293'O
                        )
                    )
                ),
                m_subject_attribute_encryption_key(
                    m_publicKey_aesccm(
                        m_aesccm(
                            m_eccPointecdsa_nistp256_with_sha256_uncompressed(
                                '6aee8a4854270eade4791e510674428c83593f2bd71b499f2c9f6847e4a0163f'O,
                                'ac0654e4a079a0fff5c77865c9d737d31064d49e84b01364b6c2c3d130a79f02'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(
                    1405173485,
                    1513691885
                )
            },
            signature_              := m_signature(
                m_ecdsaSignature(
                    m_eccPointecdsa_nistp256_with_sha256_x_coordinate_only(
                        '98a4f9d866e52d0c994f763976b166684183b02cf9a1dda5f84a98fed3e43b77'O
                    '42d15b98abb6aa9ae611456057bc699b6c01cfd7e2d589105cf6568c33a32437'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
            signingPrivateKey   := '92bf354400a0e0ab3f2d78637f874ce2b9054db2f355495770c22a60ff7feb55'O,
            encryptPrivateKey   := '3131013e3554dafce17f59f10162096bb77ceee7bd562cea9b903d58ca2a5a40'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