| HsOpenSSL-0.3: (Part of) OpenSSL binding for Haskell | Contents | Index |
|
|
|
|
|
Description |
An interface to X.509 certificate.
|
|
Synopsis |
|
|
|
|
Type
|
|
data X509 |
X509 is an opaque object that represents X.509 certificate.
|
|
|
Functions to manipulate certificate
|
|
newX509 :: IO X509 |
newX509 creates an empty certificate. You must set the
following properties to and sign it (see signX509) to actually
use the certificate.
- Version
- See setVersion.
- Serial number
- See setSerialNumber.
- Issuer name
- See setIssuerName.
- Subject name
- See setSubjectName.
- Validity
- See setNotBefore and setNotAfter.
- Public Key
- See setPublicKey.
|
|
compareX509 :: X509 -> X509 -> IO Ordering |
compareX509 cert1 cert2 compares two certificates.
|
|
signX509 |
:: X509 | The certificate to be signed.
| -> PKey | The private key to sign with.
| -> Maybe Digest | A hashing algorithm to use. If Nothing
the most suitable algorithm for the key
is automatically used.
| -> IO () | | signX509 signs a certificate with an issuer private key.
|
|
|
verifyX509 |
:: X509 | The certificate to be verified.
| -> PKey | The public key to verify with.
| -> IO VerifyStatus | | verifyX509 verifies a signature of certificate with an issuer
public key.
|
|
|
printX509 :: X509 -> IO String |
printX509 cert translates a certificate into human-readable
format.
|
|
Accessors
|
|
getVersion :: X509 -> IO Int |
getVersion cert returns the version number of certificate. It
seems the number is 0-origin: version 2 means X.509 v3.
|
|
setVersion :: X509 -> Int -> IO () |
setVersion cert ver updates the version number of certificate.
|
|
getSerialNumber :: X509 -> IO Integer |
getSerialNumber cert returns the serial number of certificate.
|
|
setSerialNumber :: X509 -> Integer -> IO () |
setSerialNumber cert num updates the serial number of
certificate.
|
|
getIssuerName |
:: X509 | The certificate to examine.
| -> Bool | True if you want the keys of each parts
to be of long form (e.g. "commonName"),
or False if you don't (e.g. "CN").
| -> IO [(String, String)] | Pairs of key and value,
for example [("C",
"JP"), ("ST",
"Some-State"), ...].
| getIssuerName returns the issuer name of certificate.
|
|
|
setIssuerName :: X509 -> [(String, String)] -> IO () |
setIssuerName cert name updates the issuer name of
certificate. Keys of each parts may be of either long form or short
form. See getIssuerName.
|
|
getSubjectName :: X509 -> Bool -> IO [(String, String)] |
getSubjectName cert wantLongName returns the subject name of
certificate. See getIssuerName.
|
|
setSubjectName :: X509 -> [(String, String)] -> IO () |
setSubjectName cert name updates the subject name of
certificate. See setIssuerName.
|
|
getNotBefore :: X509 -> IO UTCTime |
getNotBefore cert returns the time when the certificate begins
to be valid.
|
|
setNotBefore :: X509 -> UTCTime -> IO () |
setNotBefore cert utc updates the time when the certificate
begins to be valid.
|
|
getNotAfter :: X509 -> IO UTCTime |
getNotAfter cert returns the time when the certificate
expires.
|
|
setNotAfter :: X509 -> UTCTime -> IO () |
setNotAfter cert utc updates the time when the certificate
expires.
|
|
getPublicKey :: X509 -> IO PKey |
getPublicKey cert returns the public key of the subject of
certificate.
|
|
setPublicKey :: X509 -> PKey -> IO () |
setPublicKey cert pubkey updates the public key of the subject
of certificate.
|
|
getSubjectEmail :: X509 -> IO [String] |
getSubjectEmail cert returns every subject email addresses in
the certificate.
|
|
Produced by Haddock version 0.8 |