
                            d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z
 ddlmZ dd	id
didddddZdd	iddidddddZdd	iddddddddZdd	iddidddddZdd	iddidddddZddiddddidZdddd
didddddZdddddidddddZdddddddddddZdddddidddddZdddddidddddZdddddddidZeeeeeeeeeeeedZd Zd Zy)z<Helpers for building x509 parameters using a preset profile.    )absolute_import)division)unicode_literals)base)messages)
exceptionsisCaF
clientAuthT)digitalSignaturekeyEncipherment)extendedKeyUsagebaseKeyUsage)	caOptionskeyUsagecodeSigning)r   contentCommitment)
serverAuthr
   r   emailProtectionr   )certSigncrlSign)r	   maxIssuerPathLength)leaf_client_tlsleaf_code_signing	leaf_mtlsleaf_server_tls
leaf_smimeroot_unconstrained subordinate_client_tls_pathlen_0"subordinate_code_signing_pathlen_0subordinate_mtls_pathlen_0 subordinate_server_tls_pathlen_0subordinate_smime_pathlen_0#subordinate_unconstrained_pathlen_0c                  <    t        t        j                               S )zDReturns the possible string options for the use-preset-profile flag.)sorted_PRESET_PROFILESkeys     ;lib/googlecloudsdk/command_lib/privateca/preset_profiles.pyGetPresetProfileOptionsr+      s    	 %%'	((r)   c                     | t         vrt        j                  dd      t        j                  d      }t        j                  t         |    |j                        S )zParses the profile name string into the corresponding API X509Parameters.

  Args:
    profile_name: The preset profile name.

  Returns:
    An X509Parameters object.
  z--use-preset-profilez5The preset profile that was specified does not exist.v1)r&   r   InvalidArgumentExceptionprivateca_baseGetMessagesModulemessages_utilDictToMessageWithErrorCheckX509Parameters)profile_namer   s     r*   GetPresetX509Parametersr5      s]     ))

-
-?A A --d3(		2	2|$h&=&=
? ?r)   N)__doc__
__future__r   r   r    googlecloudsdk.api_lib.privatecar   r/   googlecloudsdk.api_lib.utilr   r1   googlecloudsdk.callioper   _LEAF_CLIENT_TLS_LEAF_CODE_SIGNING
_LEAF_MTLS_LEAF_SERVER_TLS_LEAF_SMIME_ROOT_UNCONSTRAINED!_SUBORDINATE_CLIENT_TLS_PATHLEN_0#_SUBORDINATE_CODE_SIGNING_PATHLEN_0_SUBORDINATE_MTLS_PATHLEN_0!_SUBORDINATE_SERVER_TLS_PATHLEN_0_SUBORDINATE_SMIME_PATHLEN_0$_SUBORDINATE_UNCONSTRAINED_PATHLEN_0r&   r+   r5   r(   r)   r*   <module>rG      s   C &  ' C A . 	
 $
 !%#
		 " 	
 4
 !%!%
		 " 	
 

 !%#
		
$ 	
 $
 !%#
		 " 	
 t
 !%!%
		" 	 	
	
    $
 
	% !$   4
 
	' #$   

 
	 &   $
 
	% !$   t
 
	  $  
 	
( $ (+'-(I*M"=(I#?+O  )
?r)   