Transport Canada · Domain Security
Transport Canada Domain Security
Domain security
Domain security posture for Transport Canada, probed live across 5 host(s) and 3 registrable domain(s). 5 host(s) serve HTTPS (up to TLSv1.2); 3 advertise HSTS. Email/DNS controls: DNSSEC absent, SPF present, DMARC present (p=none).
TravelCanadaAviationRegulatorGovernmentAirportsAircraft RegistryAviation SafetyDronesOpen DataTransportation
Transport & Host Security
tc.canada.ca
HTTPS: yes
· TLS: TLSv1.2
· HSTS: yes
· cert expires: Oct 18 02:15:03 2026 GMT
open.canada.ca
HTTPS: yes
· TLS: TLSv1.3
· HSTS: yes
· cert expires: Dec 15 23:59:59 2026 GMT
data.tc.gc.ca
HTTPS: yes
· TLS: TLSv1.2
· HSTS: yes
· cert expires: Sep 25 04:00:00 2026 GMT
maps-cartes.services.geo.ca
HTTPS: yes
· TLS: TLSv1.2
· HSTS: no
· cert expires: Feb 2 23:59:59 2027 GMT
opendatatc.tc.canada.ca
HTTPS: yes
· HSTS: no
· cert expires: Oct 18 02:15:03 2026 GMT
Domain (DNS/Email) Security
canada.ca
DNSSEC: no
· SPF: yes
· DMARC: yes
(p=none)
· CAA: none
gc.ca
DNSSEC: no
· SPF: yes
· DMARC: yes
(p=none)
· CAA: none
geo.ca
DNSSEC: no
· SPF: yes
· DMARC: yes
(p=reject)
· CAA: none
Source
Domain Security
generated: '2026-07-28'
method: probed
source: >-
Live DNS/TLS/HTTP probes of every apis.yml host on 2026-07-28, run with
0-working/probe-domain-security.py and then extended by hand to cover the
geospatial and bulk-file hosts the script does not read out of apis.yml
(maps-cartes.services.geo.ca, opendatatc.tc.canada.ca) and to verify the
data.tc.gc.ca chain finding with openssl s_client.
hosts:
- host: tc.canada.ca
role: departmental website
https: true
tls_version: TLSv1.2
cert_expires: Oct 18 02:15:03 2026 GMT
hsts: true
hsts_max_age: 31536000
- host: open.canada.ca
role: open data portal + CKAN Action API (Treasury Board Secretariat)
https: true
tls_version: TLSv1.3
cert_expires: Dec 15 23:59:59 2026 GMT
hsts: true
hsts_max_age: 31536000
- host: data.tc.gc.ca
role: Vehicle Recalls Database API host
https: true
tls_version: TLSv1.2
cert_issuer: C=US, O=SSL Corporation, CN=Entrust OV TLS Issuing RSA CA 1
cert_subject: C=CA, ST=Quebec, L=Gatineau, O=Shared Services Canada, CN=data.tc.gc.ca
cert_expires: Sep 25 04:00:00 2026 GMT
hsts: true
hsts_max_age: 31536000
hsts_directives: includeSubDomains; preload
chain_complete: false
finding: >-
The server sends the leaf certificate only and does not send the Entrust
intermediate. openssl s_client returns "verify error:num=20:unable to get
local issuer certificate" and "Verify return code: 21 (unable to verify the
first certificate)". Clients that happen to have the intermediate cached
(macOS keychain, most browsers) connect fine; a clean client, a container,
or a language runtime using only a root bundle will fail TLS verification
against Transport Canada's only first-party API host. Verified twice —
Python ssl and openssl s_client both fail, curl on macOS succeeds.
- host: maps-cartes.services.geo.ca
role: Canadian Airports ArcGIS REST + OGC WMS host (NRCan Federal Geospatial Platform)
https: true
tls_version: TLSv1.2
cert_issuer: C=US, O=Amazon, CN=Amazon RSA 2048 M04
cert_expires: Feb 2 23:59:59 2027 GMT
chain_complete: true
hsts: false
note: >-
Verify return code 0 (ok). No Strict-Transport-Security header on the root
(the root answers 301). Hosted on AWS, unlike the departmental estate.
- host: opendatatc.tc.canada.ca
role: bulk CSV/XML distribution host
https: true
cert_issuer: C=US, O=Let's Encrypt, CN=YR1
cert_expires: Oct 18 02:15:03 2026 GMT
chain_complete: true
hsts: false
note: >-
No HSTS header observed. This host carries the CADORS, vehicle recall, Air
Cargo Security and vessel register extracts — the de facto primary
distribution channel for Transport Canada data.
domains:
- domain: canada.ca
dnssec: false
caa: []
spf: true
spf_record: v=spf1 include:emrs._spf.ssc-spc.gc.ca include:spf.protection.outlook.com include:slms._spf.ssc-spc.gc.ca -all
dmarc: true
dmarc_policy: none
dmarc_record: v=DMARC1; p=none; rua=mailto:ssc.dmarc.spc@canada.ca,mailto:dmarc@cyber.gc.ca; adkim=s; aspf=s
note: >-
Strict alignment (adkim=s, aspf=s) but the policy is still p=none, so no
enforcement. Aggregate reports go to Shared Services Canada and to the
Canadian Centre for Cyber Security.
- domain: gc.ca
dnssec: false
caa: []
spf: true
spf_record: v=spf1 mx include:spf.protection.outlook.com -all
dmarc: true
dmarc_policy: none
dmarc_record: v=DMARC1; p=none; sp=none; rua=mailto:dmarc@cyber.gc.ca
note: The API host data.tc.gc.ca sits under this domain.
- domain: geo.ca
dnssec: false
caa: []
spf: true
spf_record: v=spf1 -all
dmarc: true
dmarc_policy: reject
dmarc_record: v=DMARC1; p=reject;rua=mailto:nrcan.gcc-notifications-notifications-ncg.rncan@canada.ca
note: >-
The only enforcing DMARC policy in the set — and it belongs to Natural
Resources Canada's geospatial platform, not to Transport Canada.
summary:
https_everywhere: true
tls13: 1 of 5 hosts (open.canada.ca)
hsts: 3 of 5 hosts
dnssec: 0 of 3 domains
caa: 0 of 3 domains
dmarc_enforcing: 1 of 3 domains (geo.ca, p=reject)
notable: >-
Two findings stand out. First, data.tc.gc.ca — the department's only
first-party API host — serves an incomplete certificate chain. Second, no
domain in the estate publishes CAA records or DNSSEC, and the two
Government of Canada apex domains carry non-enforcing DMARC (p=none).