| Portability | unknown | 
|---|---|
| Stability | experimental | 
| Maintainer | Vincent Hanquez <vincent@snarc.org> | 
| Safe Haskell | Safe-Infered | 
Data.Certificate.X509
Contents
Description
Read/Write X509 certificate
- data X509 = X509 {}
 - data SignatureALG
 - data  HashALG 
- = HashMD2
 - | HashMD5
 - | HashSHA1
 - | HashSHA224
 - | HashSHA256
 - | HashSHA384
 - | HashSHA512
 
 - data  PubKeyALG 
- = PubKeyALG_RSA
 - | PubKeyALG_DSA
 - | PubKeyALG_ECDSA
 - | PubKeyALG_DH
 - | PubKeyALG_Unknown OID
 
 - data PubKey
 - data ASN1StringType
 - type ASN1String = (ASN1StringType, String)
 - data  Certificate  = Certificate {
- certVersion :: Int
 - certSerial :: Integer
 - certSignatureAlg :: SignatureALG
 - certIssuerDN :: [(OID, ASN1String)]
 - certSubjectDN :: [(OID, ASN1String)]
 - certValidity :: (Time, Time)
 - certPubKey :: PubKey
 - certExtensions :: Maybe [CertificateExt]
 
 - type CertificateExt = (OID, Bool, [ASN1])
 - data Ext
 - data ExtKeyUsageFlag
 - extDecode :: CertificateExt -> Maybe Ext
 - getSigningData :: X509 -> ByteString
 - decodeCertificate :: ByteString -> Either String X509
 - encodeCertificate :: X509 -> ByteString
 
Data Structure
Constructors
| X509 | |
Fields 
  | |
Data Structure (reexported from X509Cert)
data SignatureALG Source
Constructors
| SignatureALG HashALG PubKeyALG | |
| SignatureALG_Unknown OID | 
Instances
Constructors
| HashMD2 | |
| HashMD5 | |
| HashSHA1 | |
| HashSHA224 | |
| HashSHA256 | |
| HashSHA384 | |
| HashSHA512 | 
Constructors
| PubKeyALG_RSA | |
| PubKeyALG_DSA | |
| PubKeyALG_ECDSA | |
| PubKeyALG_DH | |
| PubKeyALG_Unknown OID | 
data ASN1StringType Source
Instances
type ASN1String = (ASN1StringType, String)Source
data Certificate Source
Constructors
| Certificate | |
Fields 
  | |
Instances
type CertificateExt = (OID, Bool, [ASN1])Source
known X509v3 extensions
data ExtKeyUsageFlag Source
key usage flag that is found in the key usage extension field.
extDecode :: CertificateExt -> Maybe ExtSource
try decoding a certificateExt tuple into a known extension.
helper for signing/veryfing certificate
getSigningData :: X509 -> ByteStringSource
get signing data related to a X509 message, - which is either the cached data or the encoded certificate
serialization from ASN1 bytestring
decodeCertificate :: ByteString -> Either String X509Source
decode an X509 from a bytestring - the structure is the following: - Certificate - Certificate Signature Algorithm - Certificate Signature
encodeCertificate :: X509 -> ByteStringSource
encode a X509 certificate to a bytestring