Unix/Linux Go Back    


Linux 2.6 - man page for public_key (linux section 3erl)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


public_key(3erl)		     Erlang Module Definition			 public_key(3erl)

NAME
       public_key -  API module for public key infrastructure.

DESCRIPTION
       This  module  provides functions to handle public key infrastructure from RFC 5280 - X.509
       certificates and some parts of the PKCS-standard.

COMMON DATA TYPES
   Note:
       All records used in this manual are generated from asn1 specifications and are  documented
       in the User's Guide. See Public key records and X.509 Certificate records .

       Use  the  following  include  directive	to  get access to the records and constant macros
       described here and in the User's Guide.

	-include_lib("public_key/include/public_key.hrl").

       Data Types

       boolean() = true | false

       string = [bytes()]

       der_encoded() = binary()

       decrypt_der() = binary()

       pki_asn1_type() = 'Certificate' | 'RSAPrivateKey'| 'RSAPublicKey' 'DSAPrivateKey' |  'DSA-
       PublicKey' | 'DHParameter' | 'SubjectPublicKeyInfo'

       pem_entry () = {pki_asn1_type(), der_encoded() | decrypt_der(), not_encrypted | {"DES-CBC"
       | "DES-EDE3-CBC", crypto:rand_bytes(8)}}.

       rsa_public_key() = #'RSAPublicKey'{}

       rsa_private_key() = #'RSAPrivateKey'{}

       dsa_public_key() = {integer(), #'Dss-Parms'{}}

       rsa_private_key() = #'RSAPrivateKey'{}

       dsa_private_key() = #'DSAPrivateKey'{}

       public_crypt_options() = [{rsa_pad, rsa_padding()}].

       rsa_padding() = 'rsa_pkcs1_padding' | 'rsa_pkcs1_oaep_padding' | 'rsa_no_padding'

       rsa_digest_type() = 'md5' | 'sha'

       dss_digest_type() = 'none' | 'sha'

EXPORTS
       decrypt_private(CipherText, Key [, Options]) -> binary()

	      Types  CipherText = binary()
		     Key = rsa_private_key()
		     Options = public_crypt_options()

	      Public key decryption using the private key.

       decrypt_public(CipherText, Key [, Options]) - > binary()

	      Types  CipherText = binary()
		     Key = rsa_public_key()
		     Options = public_crypt_options()

	      Public key decryption using the public key.

       der_decode(Asn1type, Der) -> term()

	      Types  Asn1Type = atom() -
		     Asn1 type present in the public_key applications asn1 specifications.
		     Der = der_encoded()

	      Decodes a public key asn1 der encoded entity.

       der_encode(Asn1Type, Entity) -> der_encoded()

	      Types  Asn1Type = atom()
		     Asn1 type present in the public_key applications asn1 specifications.
		     Entity = term() - The erlang representation of

	      Encodes a public key entity with asn1 DER encoding.

       pem_decode(PemBin) -> [pem_entry()]

	      Types  PemBin = binary()
		     Example {ok, PemBin} = file:read_file("cert.pem").

	      Decode PEM binary data and return entries as asn1 der encoded entities.

       pem_encode(PemEntries) -> binary()

	      Types  PemEntries = [pem_entry()]

	      Creates a PEM binary

       pem_entry_decode(PemEntry [, Password]) -> term()

	      Types  PemEntry = pem_entry()
		     Password = string()

	      Decodes a pem entry. pem_decode/1 returns a list of pem entries. Note that  if  the
	      pem  entry  is  of  type	'SubjectPublickeyInfo'	it  will be further decoded to an
	      rsa_public_key() or dsa_public_key().

       pem_entry_encode(Asn1Type, Entity [,{CipherInfo, Password}]) -> pem_entry()

	      Types  Asn1Type = pki_asn1_type()
		     Entity = term() - The Erlang representation of
		     CipherInfo = {"DES-CBC" | "DES-EDE3-CBC", crypto:rand_bytes(8)}
		     Password = string()

	      Creates a pem entry that can be feed to pem_encode/1.

       encrypt_private(PlainText, Key) -> binary()

	      Types  PlainText = binary()
		     Key = rsa_private_key()

	      Public key encryption using the private key.

       encrypt_public(PlainText, Key) -> binary()

	      Types  PlainText = binary()
		     Key = rsa_public_key()

	      Public key encryption using the public key.

       pkix_decode_cert(Cert, otp|plain) -> #'Certificate'{} | #'OTPCertificate'{}

	      Types  Cert = der_encoded()

	      Decodes an asn1 der encoded pkix certificate. The otp option will use  the  custom-
	      ized asn1 specification OTP-PKIX.asn1 for decoding and also recursively decode most
	      of the standard parts.

       pkix_encode(Asn1Type, Entity, otp | plain) -> der_encoded()

	      Types  Asn1Type = atom()
		     The asn1 type can be 'Certificate', 'OTPCertificate' or a subtype of  either
		     .

	      Der  encodes  a  pkix x509 certificate or part of such a certificate. This function
	      must  be	used  for  encoding  certificates  or  parts  of  certificates	that  are
	      decoded/created  on the otp format, whereas for the plain format this function will
	      directly call der_encode/2.

       pkix_is_issuer(Cert, IssuerCert) -> boolean()

	      Types  Cert = der_encode() | #'OTPCertificate'{}
		     IssuerCert = der_encode() | #'OTPCertificate'{}

	      Checks if IssuerCert issued Cert

       pkix_is_fixed_dh_cert(Cert) -> boolean()

	      Types  Cert = der_encode() | #'OTPCertificate'{}

	      Checks if a Certificate is a fixed Diffie-Hellman Cert.

       pkix_is_self_signed(Cert) -> boolean()

	      Types  Cert = der_encode() | #'OTPCertificate'{}

	      Checks if a Certificate is self signed.

       pkix_issuer_id(Cert, IssuedBy) -> {ok, IssuerID} | {error, Reason}

	      Types  Cert = der_encode() | #'OTPCertificate'{}
		     IssuedBy = self | other
		     IssuerID = {integer(), {rdnSequence, [#'AttributeTypeAndValue'{}]}}
		     The issuer id consists of the serial number and the issuers name.
		     Reason = term()

	      Returns the issuer id.

       pkix_normalize_name(Issuer) -> Normalized

	      Types  Issuer = {rdnSequence,[#'AttributeTypeAndValue'{}]}
		     Normalized = {rdnSequence, [#'AttributeTypeAndValue'{}]}

	      Normalizes a issuer name so that it can be easily compared to another issuer name.

       pkix_sign(#'OTPTBSCertificate'{}, Key) -> der_encode()

	      Types  Key = rsa_public_key() | dsa_public_key()

	      Signs a 'OTPTBSCertificate'. Returns the corresponding der encoded certificate.

       pkix_verify(Cert, Key) -> boolean()

	      Types  Cert = der_encode()
		     Key = rsa_public_key() | dsa_public_key()

	      Verify pkix x.509 certificate signature.

       sign(Msg, DigestType, Key) -> binary()

	      Types  Msg = binary()
		     The msg is either the binary "plain text" data to be signed or in	the  case
		     that  digest  type  is  none it is the hashed value of "plain text" i.e. the
		     digest.
		     DigestType = rsa_digest_type() | dsa_digest_type()
		     Key = rsa_public_key() | dsa_public_key()

	      Creates a digital signature.

       verify(Msg, DigestType, Signature, Key) -> boolean()

	      Types  Msg = binary()
		     The msg is either the binary "plain text" data or in the  case  that  digest
		     type is none it is the hashed value of "plain text" i.e. the digest.
		     DigestType = rsa_digest_type() | dsa_digest_type()
		     Signature = binary()
		     Key = rsa_public_key() | dsa_public_key()

	      Verifies a digital signature

Ericsson AB				 public_key 0.11			 public_key(3erl)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 02:02 AM.