diff --git a/tempest/api/identity/admin/v3/test_certificates.py b/tempest/api/identity/admin/v3/test_certificates.py
new file mode 100644
index 0000000..a53ee0a
--- /dev/null
+++ b/tempest/api/identity/admin/v3/test_certificates.py
@@ -0,0 +1,43 @@
+# Copyright 2014 OpenStack Foundation
+# All Rights Reserved.
+#
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+
+from tempest.api.identity import base
+from tempest import test
+
+
+class CertificatesV3TestJSON(base.BaseIdentityV3AdminTest):
+    _interface = 'json'
+
+    def _verify_response(self, expected, actual):
+        missing_tags = [t for t in expected if t not in actual]
+        self.assertEqual(0, len(missing_tags),
+                         "Failed to fetch expected tag"
+                         "in the certificate: %s" % ','.join(missing_tags))
+
+    @test.attr(type='smoke')
+    def test_get_ca_certificate(self):
+        # Verify ca certificate chain
+        expected_tags = ['BEGIN CERTIFICATE', 'END CERTIFICATE']
+        resp, certificate = self.client.get_ca_certificate()
+        self.assertEqual(200, resp.status)
+        self._verify_response(expected_tags, certificate)
+
+    @test.attr(type='smoke')
+    def test_get_certificates(self):
+        # Verify signing certificates
+        expected_tags = ['Certificate', 'BEGIN CERTIFICATE', 'END CERTIFICATE']
+        resp, certificates = self.client.get_certificates()
+        self.assertEqual(200, resp.status)
+        self._verify_response(expected_tags, certificates)
diff --git a/tempest/services/identity/v3/json/identity_client.py b/tempest/services/identity/v3/json/identity_client.py
index 6829333..73e52a0 100644
--- a/tempest/services/identity/v3/json/identity_client.py
+++ b/tempest/services/identity/v3/json/identity_client.py
@@ -450,6 +450,16 @@
                                % (trust_id, role_id))
         return resp, body
 
+    def get_ca_certificate(self):
+        """GET ca certificate chain."""
+        resp, body = self.get("OS-SIMPLE-CERT/ca")
+        return resp, body
+
+    def get_certificates(self):
+        """GET signing certificates used to sign tokens."""
+        resp, body = self.get("OS-SIMPLE-CERT/certificates")
+        return resp, body
+
 
 class V3TokenClientJSON(rest_client.RestClient):
 
