prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Allow verifying an x509 cert chain without making assertions about the subject name
  Thanks to all who worked on the X.509 verification support in version 42.
  
  I am trying to use this API for verifying a signing certificate, and realizing that the API requires me to assert a subject name (DNS name or IP address) to get the validation output. The subject name is not defined/not relevant in this application.
  
  How can I verify that a certificate is in the chain of trust without asserting on the subject name?
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `src/cryptography/x509/verification.py`
  Content:
  ```
  1 # This file is dual licensed under the terms of the Apache License, Version
  2 # 2.0, and the BSD License. See the LICENSE file in the root of this repository
  3 # for complete details.
  4 
  5 from __future__ import annotations
  6 
  7 import typing
  8 
  9 from cryptography.hazmat.bindings._rust import x509 as rust_x509
  10 from cryptography.x509.general_name import DNSName, IPAddress
  11 
  12 __all__ = [
  13     "Store",
  14     "Subject",
  15     "ServerVerifier",
  16     "PolicyBuilder",
  17     "VerificationError",
  18 ]
  19 
  20 Store = rust_x509.Store
  21 Subject = typing.Union[DNSName, IPAddress]
  22 ServerVerifier = rust_x509.ServerVerifier
  23 PolicyBuilder = rust_x509.PolicyBuilder
  24 VerificationError = rust_x509.VerificationError
  25
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/src/cryptography/x509/verification.py b/src/cryptography/x509/verification.py
  --- a/src/cryptography/x509/verification.py
  +++ b/src/cryptography/x509/verification.py
  @@ -12,6 +12,8 @@
   __all__ = [
       "Store",
       "Subject",
  +    "VerifiedClient",
  +    "ClientVerifier",
       "ServerVerifier",
       "PolicyBuilder",
       "VerificationError",
  @@ -19,6 +21,8 @@
   
   Store = rust_x509.Store
   Subject = typing.Union[DNSName, IPAddress]
  +VerifiedClient = rust_x509.VerifiedClient
  +ClientVerifier = rust_x509.ClientVerifier
   ServerVerifier = rust_x509.ServerVerifier
   PolicyBuilder = rust_x509.PolicyBuilder
   VerificationError = rust_x509.VerificationError
  
verification_info: {"golden_diff": "diff --git a/src/cryptography/x509/verification.py b/src/cryptography/x509/verification.py\n--- a/src/cryptography/x509/verification.py\n+++ b/src/cryptography/x509/verification.py\n@@ -12,6 +12,8 @@\n __all__ = [\n     \"Store\",\n     \"Subject\",\n+    \"VerifiedClient\",\n+    \"ClientVerifier\",\n     \"ServerVerifier\",\n     \"PolicyBuilder\",\n     \"VerificationError\",\n@@ -19,6 +21,8 @@\n \n Store = rust_x509.Store\n Subject = typing.Union[DNSName, IPAddress]\n+VerifiedClient = rust_x509.VerifiedClient\n+ClientVerifier = rust_x509.ClientVerifier\n ServerVerifier = rust_x509.ServerVerifier\n PolicyBuilder = rust_x509.PolicyBuilder\n VerificationError = rust_x509.VerificationError\n", "issue": "Allow verifying an x509 cert chain without making assertions about the subject name\nThanks to all who worked on the X.509 verification support in version 42.\r\n\r\nI am trying to use this API for verifying a signing certificate, and realizing that the API requires me to assert a subject name (DNS name or IP address) to get the validation output. The subject name is not defined/not relevant in this application.\r\n\r\nHow can I verify that a certificate is in the chain of trust without asserting on the subject name?\n", "before_files": [{"content": "# This file is dual licensed under the terms of the Apache License, Version\n# 2.0, and the BSD License. See the LICENSE file in the root of this repository\n# for complete details.\n\nfrom __future__ import annotations\n\nimport typing\n\nfrom cryptography.hazmat.bindings._rust import x509 as rust_x509\nfrom cryptography.x509.general_name import DNSName, IPAddress\n\n__all__ = [\n    \"Store\",\n    \"Subject\",\n    \"ServerVerifier\",\n    \"PolicyBuilder\",\n    \"VerificationError\",\n]\n\nStore = rust_x509.Store\nSubject = typing.Union[DNSName, IPAddress]\nServerVerifier = rust_x509.ServerVerifier\nPolicyBuilder = rust_x509.PolicyBuilder\nVerificationError = rust_x509.VerificationError\n", "path": "src/cryptography/x509/verification.py"}], "after_files": [{"content": "# This file is dual licensed under the terms of the Apache License, Version\n# 2.0, and the BSD License. See the LICENSE file in the root of this repository\n# for complete details.\n\nfrom __future__ import annotations\n\nimport typing\n\nfrom cryptography.hazmat.bindings._rust import x509 as rust_x509\nfrom cryptography.x509.general_name import DNSName, IPAddress\n\n__all__ = [\n    \"Store\",\n    \"Subject\",\n    \"VerifiedClient\",\n    \"ClientVerifier\",\n    \"ServerVerifier\",\n    \"PolicyBuilder\",\n    \"VerificationError\",\n]\n\nStore = rust_x509.Store\nSubject = typing.Union[DNSName, IPAddress]\nVerifiedClient = rust_x509.VerifiedClient\nClientVerifier = rust_x509.ClientVerifier\nServerVerifier = rust_x509.ServerVerifier\nPolicyBuilder = rust_x509.PolicyBuilder\nVerificationError = rust_x509.VerificationError\n", "path": "src/cryptography/x509/verification.py"}]}