Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
ITS - Intelligent Transport Systems
ITS
Commits
21261c16
Commit
21261c16
authored
Sep 12, 2018
by
garciay
Browse files
Add tests units for signature
parent
09eb7e84
Changes
3
Hide whitespace changes
Inline
Side-by-side
etc/AtsDENM/AtsDENM.cfg
View file @
21261c16
[MODULE_PARAMETERS]
# This section shall contain the values of all parameters that are defined in your TTCN-3 modules.
LibItsGeoNetworking_Pics.PICS_GN_LOCAL_GN_ADDR := {
typeOfAddress := e_initial,
stationType := e_unknown, #e_roadSideUnit,
stationCountryCode := 0, #33,
mid := '4C5E0C14D2EB'O
}
# IUT Station ID
LibItsCommon_Pixits.PX_IUT_STATION_ID := 2533729309
...
...
@@ -104,7 +98,6 @@ ItsDenm_TestCases.TC_DEN_MSGF_BV_01
[MAIN_CONTROLLER]
# The options herein control the behavior of MC.
KillTimer := 10.0
TCPPort := 0
LocalAddress := 127.0.0.1
TCPPort := 12000
NumHCs := 1
etc/TestCodec/TestCodec.cfg
View file @
21261c16
...
...
@@ -295,6 +295,7 @@ system.utPort.params := "UT_GN/UDP(dst_ip=192.168.56.1)"
#TestCodec_Certificates.tc_at_certificate_sha256_2
#TestCodec_Certificates.tc_at_certificate_sha256_3
#TestCodec_Certificates.tc_certificate_asn1c_1
TestCodec_Certificates.tc_certificate_asn1c_2
# Secured messages
#TestCodec_SecuredMessages.tc_ssp_cam_1
#TestCodec_SecuredMessages.tc_ssp_cam_2
...
...
@@ -305,13 +306,13 @@ system.utPort.params := "UT_GN/UDP(dst_ip=192.168.56.1)"
#TestCodec_SecuredMessages.tc_secured_message_signed_and_encrypted_1
#TestCodec_SecuredMessages.tc_secured_message_signed_and_encrypted_2
# Chain of certificates
TestCodec_ChainOfCertificates.tc_full_check_certificate_1
#
TestCodec_ChainOfCertificates.tc_full_check_certificate_1
#TestCodec_ChainOfCertificates.tc_full_check_certificate_2
TestCodec_SecuredFuntions.tc_load_certificates
TestCodec_SecuredFuntions.tc_read_certificate_1
TestCodec_SecuredFuntions.tc_read_certificate_2
TestCodec_SecuredFuntions.tc_read_certificate_digest
TestCodec_SecuredFuntions.tc_read_certificate_hash
#
TestCodec_SecuredFuntions.tc_load_certificates
#
TestCodec_SecuredFuntions.tc_read_certificate_1
#
TestCodec_SecuredFuntions.tc_read_certificate_2
#
TestCodec_SecuredFuntions.tc_read_certificate_digest
#
TestCodec_SecuredFuntions.tc_read_certificate_hash
# Encryption
#TestCodec_SignedAndEncryptedMessages.tc_test_hmac_sha256_test1
#TestCodec_SignedAndEncryptedMessages.tc_test_hmac_sha256_test2
...
...
ttcn/TestCodec/TestCodec_Certificates.ttcn
View file @
21261c16
...
...
@@ -757,9 +757,9 @@ module TestCodec_Certificates {
}
// End of testcase tc_at_certificate_sha256_3
testcase
tc_certificate_asn1c_1
()
runs
on
TCType
system
TCType
{
// CERT_IUT_A_RCA
const
octetstring
c_cert
:=
'
8003008100288300000000001874
e3808466a8c00101
2
080010e80012482080301ffff0301ffff800125820a0401ffffff0401ffffff800189820a0401ffffff0401ffffff80018a820a0401ffffff0401ffffff80018b820a0401ffffff0401ffffff80018c820a0401ffffff0401ffffff00018d0001600001610001620001630001640001650001660
0
808083
b348d43d8d280012d2b3221d530592828990de31a13ba005c340191f748d7fae8080138350df39556a1a80fb46414def254791af2a3b30adf662478c50e7cca1e5ab34c0e27366ecdbd30bf
4a
d
c4
31201f755ec4536303a2812a60
7c
f
8c
e9ed829dd
'
O
;
// CERT_IUT_A_RCA.oer
const
octetstring
c_cert
:=
'
8003008100288300000000001874
e3808466a8c00101
8
080010e80012482080301ffff0301ffff800125820a0401ffffff0401ffffff800189820a0401ffffff0401ffffff80018a820a0401ffffff0401ffffff80018b820a0401ffffff0401ffffff80018c820a0401ffffff0401ffffff00018d0001600001610001620001630001640001650001660
102
808083
a72b88b6a1adeeba7fc18772952f053a81bd18635ee5ab08ed1376c107b541398080c0290e397381bf7502a0e6a6b271d8e2f18fc8311f591f0528a673ee5169f670e22
4ac4
55b5e67eb251cc1467f6ffc684098
7c8c
8eb9245c22be73322b64ca54
'
O
;
// CERT_IUT_A_RCA.oer
var
EtsiTs103097Certificate
v_cert_dec
;
var
Oct32
v_private_key
:=
'
4
e22da40115d1f7caccf38bee1b3cd32f08405d8b85c948a2b11b88436387893
'
O
;
// CERT_IUT_A_RCA.vkey
var
Oct32
v_private_key
:=
'
d79ef1d533b0385463a5d15708e94ff4f0d281cccbef504acd3afbb82dc0499f
'
O
;
// CERT_IUT_A_RCA.vkey
var
bitstring
v_enc_msg
:=
oct2bit
(
c_cert
);
var
integer
v_compressedMode
;
var
Oct32
v_publicKeyCompressed
:=
int2oct
(
0
,
32
);
...
...
@@ -877,7 +877,7 @@ module TestCodec_Certificates {
}
}
},
minChainLength
:=
1
,
minChainLength
:=
2
,
chainLengthRange
:=
0
,
eeType
:=
'00000000'B
}
...
...
@@ -888,7 +888,7 @@ module TestCodec_Certificates {
verifyKeyIndicator
:=
{
verificationKey
:=
{
ecdsaNistP256
:=
{
compressed_y_1
:=
'
B348D43D8D280012D2B3221D530592828990DE31A13BA005C340191F748D7FAE
'
O
compressed_y_1
:=
'
A72B88B6A1ADEEBA7FC18772952F053A81BD18635EE5AB08ED1376C107B54139
'
O
}
}
}
...
...
@@ -896,9 +896,9 @@ module TestCodec_Certificates {
signature_
:=
{
ecdsaNistP256Signature
:=
{
rSig
:=
{
x_only
:=
'
138350
DF39556A1A80FB46414DEF254791AF2A3B30ADF662478C50E7CCA1E5AB
'
O
x_only
:=
'
C0290E397381BF7502A0E6A6B271D8E2F18FC8311F591F0528A673EE5169F670
'
O
},
sSig
:=
'
34
C0E27366ECDBD30BF
4A
D
C4
31201F755EC4536303A2812A60
7C
F
8C
E9ED829DD
'
O
sSig
:=
'
E22
4AC4
55B5E67EB251CC1467F6FFC684098
7C8C
8EB9245C22BE73322B64CA54
'
O
}
}
};
...
...
@@ -938,6 +938,182 @@ module TestCodec_Certificates {
}
}
// End of testcase tc_certificate_asn1c_1
testcase
tc_certificate_asn1c_2
()
runs
on
TCType
system
TCType
{
// CERT_IUT_A_RCA
const
octetstring
c_cert
:=
'
8003008100698300000000001874
e3808466a88101011a0645a1042d654819f89082043b1a67c001018080010780012482080301ffff0301ffff800125820a0401ffffff0401ffffff800189820a0401ffffff0401ffffff80018a820a0401ffffff0401ffffff80018b820a0401ffffff0401ffffff80018c820a0401ffffff0401ffffff00018d0102008082192b5056fe5fa1a79adfb78ab5c447d0933fafee21f8480fe5569f96a0df648a808083ffd7a5af269b7efc295f2bcea8318e5dd91f44e630919aa627118f31dceaad6c808057c070cdd563033c3c969677876275df7a06fb8ade9d48d715e6fc0b0b8d53e2f086c3de0ffc7d9531f965f5a2d321ca802cb4b0f3552025ebcb4081ced7f473
'
O
;
// CERT_IUT_C_RCA.oer
var
EtsiTs103097Certificate
v_cert_dec
;
var
Oct32
v_private_key
:=
'
e04336196816a49ac1dc7d39252ee4a90a5c0a3b243645ee84d5acd0aa161c7e
'
O
;
// CERT_IUT_C_RCA.vkey
var
Oct32
v_enc_private_key
:=
'
f393bce9c68abbdd733e1ba9766ac11ce407a90e295d130c6cc6d8a61624be93
'
O
;
// CERT_IUT_C_RCA.ekey
var
bitstring
v_enc_msg
:=
oct2bit
(
c_cert
);
var
integer
v_compressedMode
;
var
Oct32
v_publicKeyCompressed
:=
int2oct
(
0
,
32
);
var
Oct32
v_sig
:=
int2oct
(
0
,
32
);
var
EtsiTs103097Certificate
v_cert_exp
:=
{
version
:=
3
,
type_
:=
explicit
,
issuer
:=
{
self_
:=
sha256
},
toBeSigned
:=
{
id
:=
{
none_
:=
NULL
},
cracaId
:=
'000000'O
,
crlSeries
:=
0
,
validityPeriod
:=
{
start_
:=
410313600
,
duration
:=
{
hours
:=
26280
}
},
region
:=
{
rectangularRegion
:=
{
{
northWest
:=
{
latitude
:=
436618657
,
longitude
:=
70083912
},
southEast
:=
{
latitude
:=
435720322
,
longitude
:=
70982247
}
}
}
},
assuranceLevel
:=
'
C0
'
O
,
appPermissions
:=
omit
,
certIssuePermissions
:=
{
{
subjectPermissions
:=
{
explicit
:=
{
{
psid
:=
36
,
sspRange
:=
{
bitmapSspRange
:=
{
sspValue
:=
'
01
FFFF
'
O
,
sspBitmask
:=
'
01
FFFF
'
O
}
}
},
{
psid
:=
37
,
sspRange
:=
{
bitmapSspRange
:=
{
sspValue
:=
'
01
FFFFFF
'
O
,
sspBitmask
:=
'
01
FFFFFF
'
O
}
}
},
{
psid
:=
137
,
sspRange
:=
{
bitmapSspRange
:=
{
sspValue
:=
'
01
FFFFFF
'
O
,
sspBitmask
:=
'
01
FFFFFF
'
O
}
}
},
{
psid
:=
138
,
sspRange
:=
{
bitmapSspRange
:=
{
sspValue
:=
'
01
FFFFFF
'
O
,
sspBitmask
:=
'
01
FFFFFF
'
O
}
}
},
{
psid
:=
139
,
sspRange
:=
{
bitmapSspRange
:=
{
sspValue
:=
'
01
FFFFFF
'
O
,
sspBitmask
:=
'
01
FFFFFF
'
O
}
}
},
{
psid
:=
140
,
sspRange
:=
{
bitmapSspRange
:=
{
sspValue
:=
'
01
FFFFFF
'
O
,
sspBitmask
:=
'
01
FFFFFF
'
O
}
}
},
{
psid
:=
141
,
sspRange
:=
omit
}
}
},
minChainLength
:=
2
,
chainLengthRange
:=
0
,
eeType
:=
'00000000'B
}
},
certRequestPermissions
:=
omit
,
canRequestRollover
:=
omit
,
encryptionKey
:=
{
supportedSymmAlg
:=
aes128Ccm
,
publicKey
:=
{
eciesNistP256
:=
{
compressed_y_0
:=
'
192
B5056FE5FA1A79ADFB78AB5C447D0933FAFEE21F8480FE5569F96A0DF648A
'
O
}
}
},
verifyKeyIndicator
:=
{
verificationKey
:=
{
ecdsaNistP256
:=
{
compressed_y_1
:=
'
FFD7A5AF269B7EFC295F2BCEA8318E5DD91F44E630919AA627118F31DCEAAD6C
'
O
}
}
}
},
signature_
:=
{
ecdsaNistP256Signature
:=
{
rSig
:=
{
x_only
:=
'
57
C070CDD563033C3C969677876275DF7A06FB8ADE9D48D715E6FC0B0B8D53E2
'
O
},
sSig
:=
'
F086C3DE0FFC7D9531F965F5A2D321CA802CB4B0F3552025EBCB4081CED7F473
'
O
}
}
};
var
integer
v_res
:=
decvalue
(
v_enc_msg
,
v_cert_dec
);
if
(
v_res
==
0
)
{
log
(
"Decoded message: "
,
v_cert_dec
);
setverdict
(
pass
,
"Decoded succeed"
);
log
(
match
(
v_cert_exp
,
v_cert_dec
));
if
(
not
(
match
(
v_cert_exp
,
v_cert_dec
)))
{
setverdict
(
fail
,
"Templates mismatch"
);
stop
;
}
else
{
setverdict
(
pass
,
"Templates match"
);
}
}
else
{
setverdict
(
fail
,
"Decoding failed"
);
}
if
(
ischosen
(
v_cert_dec
.
toBeSigned
.
verifyKeyIndicator
.
verificationKey
.
ecdsaNistP256
.
compressed_y_0
))
{
v_compressedMode
:=
0
;
v_publicKeyCompressed
:=
v_cert_dec
.
toBeSigned
.
verifyKeyIndicator
.
verificationKey
.
ecdsaNistP256
.
compressed_y_0
;
}
else
{
v_compressedMode
:=
1
;
v_publicKeyCompressed
:=
v_cert_dec
.
toBeSigned
.
verifyKeyIndicator
.
verificationKey
.
ecdsaNistP256
.
compressed_y_1
;
}
v_enc_msg
:=
encvalue
(
v_cert_dec
.
toBeSigned
);
if
(
f_verifyWithEcdsaNistp256WithSha256
(
bit2oct
(
v_enc_msg
),
int2oct
(
0
,
32
),
v_cert_dec
.
signature_
.
ecdsaNistP256Signature
.
rSig
.
x_only
&
v_cert_dec
.
signature_
.
ecdsaNistP256Signature
.
sSig
,
v_publicKeyCompressed
,
v_compressedMode
)
==
false
)
{
setverdict
(
fail
);
}
else
{
setverdict
(
pass
)
}
}
// End of testcase tc_certificate_asn1c_2
group
encdec_functions
{
function
TestEtsiTs103097Certificate
(
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment