certificate 1.3.6 → 1.3.7
raw patch · 4 files changed
+23/−18 lines, 4 filesdep ~crypto-pubkey-typesPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: crypto-pubkey-types
API changes (from Hackage documentation)
Files
- Certificate.hs +8/−8
- Data/Certificate/KeyDSA.hs +5/−5
- Data/Certificate/X509/Cert.hs +8/−3
- certificate.cabal +2/−2
Certificate.hs view
@@ -82,12 +82,12 @@ printf " modulus: %x\n" (RSA.public_n pubkey) printf " e : %x\n" (RSA.public_e pubkey) X509.PubKeyDSA pubkey -> do- let (p,q,g) = DSA.public_params pubkey+ let params = DSA.public_params pubkey putStrLn "public key DSA:" printf " pub : %x\n" (DSA.public_y pubkey)- printf " p : %d\n" p- printf " q : %x\n" q- printf " g : %x\n" g+ printf " p : %d\n" (DSA.params_p params)+ printf " q : %x\n" (DSA.params_q params)+ printf " g : %x\n" (DSA.params_g params) X509.PubKeyUnknown oid ws -> do printf "public key unknown: %s\n" (show oid) printf " raw bytes: %s\n" (show ws)@@ -122,11 +122,11 @@ showDSAKey (pubkey,privkey) = unlines [ "priv " ++ (printf "%x" $ DSA.private_x privkey) , "pub: " ++ (printf "%x" $ DSA.public_y pubkey)- , "p: " ++ (printf "%x" p)- , "q: " ++ (printf "%x" g)- , "g: " ++ (printf "%x" q)+ , "p: " ++ (printf "%x" $ DSA.params_p params)+ , "q: " ++ (printf "%x" $ DSA.params_q params)+ , "g: " ++ (printf "%x" $ DSA.params_g params) ]- where (p,q,g) = DSA.private_params privkey+ where params = DSA.private_params privkey showASN1 :: Int -> [ASN1] -> IO () showASN1 at = prettyPrint at where
Data/Certificate/KeyDSA.hs view
@@ -27,7 +27,7 @@ where privkey = DSA.PrivateKey { DSA.private_params = params, DSA.private_x = priv } pubkey = DSA.PublicKey { DSA.public_params = params, DSA.public_y = pub }- params = (p,g,q)+ params = DSA.Params { DSA.params_p = p, DSA.params_g = g, DSA.params_q = q } parsePrivate (Start Sequence : IntVal n : _) | n == 0 = Left "DSA key format: not recognized"@@ -42,11 +42,11 @@ where pkseq = [ Start Sequence , IntVal 0- , IntVal p- , IntVal q- , IntVal g+ , IntVal $ DSA.params_p params+ , IntVal $ DSA.params_q params+ , IntVal $ DSA.params_g params , IntVal $ DSA.public_y pubkey , IntVal $ DSA.private_x privkey , End Sequence ]- (p,g,q) = DSA.private_params privkey+ params = DSA.private_params privkey
Data/Certificate/X509/Cert.hs view
@@ -256,7 +256,10 @@ toKey PubKeyALG_DSA [Start Sequence,IntVal p,IntVal q,IntVal g,End Sequence] bits = do case decodeASN1 BER bits of Right [IntVal dsapub] -> return $ PubKeyDSA $ DSA.PublicKey- { DSA.public_params = (p, q, g)+ { DSA.public_params = DSA.Params+ { DSA.params_p = p+ , DSA.params_q = q+ , DSA.params_g = g } , DSA.public_y = dsapub } _ -> return $ PubKeyUnknown (pubkeyalgOID PubKeyALG_DSA) $ L.unpack bits toKey (PubKeyALG_Unknown oid) _ bits = return $ PubKeyUnknown oid $ L.unpack bits@@ -340,8 +343,10 @@ asn1Container Sequence (asn1Container Sequence ([pkalg] ++ dsaseq) ++ [BitString $ toBitArray bits 0]) where pkalg = OID $ pubkeyalgOID $ pubkeyToAlg k- dsaseq = asn1Container Sequence [IntVal p,IntVal q,IntVal g]- (p,q,g) = DSA.public_params pubkey+ dsaseq = asn1Container Sequence [IntVal (DSA.params_p params)+ ,IntVal (DSA.params_q params)+ ,IntVal (DSA.params_g params)]+ params = DSA.public_params pubkey bits = encodeASN1 DER [IntVal $ DSA.public_y pubkey] encodePK k@(PubKeyUnknown _ l) =
certificate.cabal view
@@ -1,5 +1,5 @@ Name: certificate-Version: 1.3.6+Version: 1.3.7 Description: Certificates and Key reader/writer .@@ -31,7 +31,7 @@ , mtl , pem >= 0.1 && < 0.2 , asn1-data >= 0.7.1 && < 0.8.0- , crypto-pubkey-types >= 0.2 && < 0.3+ , crypto-pubkey-types >= 0.3 && < 0.4 , cryptohash , containers , directory