head 1.2; access; symbols perseant-exfatfs-base-20261102:1.2 perseant-exfatfs-base-20250801:1.2 perseant-exfatfs-base-20240630:1.2 perseant-exfatfs:1.2.0.26 perseant-exfatfs-base:1.2 cjep_sun2x:1.2.0.24 cjep_sun2x-base:1.2 cjep_staticlib_x-base1:1.2 cjep_staticlib_x:1.2.0.22 cjep_staticlib_x-base:1.2 phil-wifi-20200421:1.2 phil-wifi-20200411:1.2 phil-wifi-20200406:1.2 pgoyette-compat-merge-20190127:1.2 pgoyette-compat-20190127:1.2 pgoyette-compat-20190118:1.2 pgoyette-compat-1226:1.2 pgoyette-compat-1126:1.2 pgoyette-compat-1020:1.2 pgoyette-compat-0930:1.2 pgoyette-compat-0906:1.2 pgoyette-compat-0728:1.2 pgoyette-compat-0625:1.2 pgoyette-compat-0521:1.2 pgoyette-compat-0502:1.2 pgoyette-compat-0422:1.2 pgoyette-compat-0415:1.2 pgoyette-compat-0407:1.2 pgoyette-compat-0330:1.2 pgoyette-compat-0322:1.2 pgoyette-compat-0315:1.2 pgoyette-compat:1.2.0.20 pgoyette-compat-base:1.2 perseant-stdc-iso10646:1.2.0.18 perseant-stdc-iso10646-base:1.2 prg-localcount2-base3:1.2 prg-localcount2-base2:1.2 prg-localcount2-base1:1.2 prg-localcount2:1.2.0.16 prg-localcount2-base:1.2 pgoyette-localcount-20170426:1.2 bouyer-socketcan-base1:1.2 pgoyette-localcount-20170320:1.2 bouyer-socketcan:1.2.0.14 bouyer-socketcan-base:1.2 pgoyette-localcount-20170107:1.2 pgoyette-localcount-20161104:1.2 localcount-20160914:1.2 pgoyette-localcount-20160806:1.2 pgoyette-localcount-20160726:1.2 pgoyette-localcount:1.2.0.12 pgoyette-localcount-base:1.2 yamt-pagecache-base9:1.2 yamt-pagecache-tag8:1.2 tls-earlyentropy:1.2.0.8 tls-earlyentropy-base:1.2 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.2 riastradh-drm2-base3:1.2 agc-symver:1.2.0.10 agc-symver-base:1.2 tls-maxphys-base:1.2 yamt-pagecache-base8:1.2 yamt-pagecache-base7:1.2 yamt-pagecache-base6:1.2 yamt-pagecache-base5:1.2 yamt-pagecache-base4:1.2 yamt-pagecache-base3:1.2 yamt-pagecache-base2:1.2 yamt-pagecache:1.2.0.6 yamt-pagecache-base:1.2 bouyer-quota2-nbase:1.2 bouyer-quota2:1.2.0.4 bouyer-quota2-base:1.2 jym-xensuspend-nbase:1.2 jym-xensuspend:1.2.0.2 jym-xensuspend-base:1.2 openpgpsdk-base:1.1.1.1 OPENPGPSDK:1.1.1; locks; strict; comment @# @; 1.2 date 2009.01.20.06.49.14; author agc; state dead; branches; next 1.1; 1.1 date 2009.01.12.22.55.41; author agc; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2009.01.12.22.55.41; author agc; state Exp; branches; next ; desc @@ 1.2 log @Missed this when removing old sources. @ text @Nominet's requirements ---------------------- We currently use the PGP APIs to do the following: - Load a key ring into memory. - Find a key in a key ring and store a reference to it. - Use a secure key to sign a message in clear text ascii armour (equiv. of pgp -sta) - Check the signature on a clear text signed message, giving back the contents, the key that signed it and the time at which it was signed. If the check fails, we need to know the reason why e.g. Was the signature corrupt, did it match the text, was the message in the correct format, has the key be revoked etc. - Add an ascii armoured key to a key ring held in memory. - Store a key ring held in memory back to disk. We may also want to use standard encryption and decryption in the future. Our requirements ---------------- - encrypting, signing, decrypting, verifying documents. - creating keys - issuing key certifications and revocations - key signing - user id: add, remove, revoke - keyring handling (on disk storage) - keyserver querying fu - trust handling (a la gpg) - export of - import of Specific non-requirements ------------------------- X We will not use GPG slave processes to do keyserver queries - nor any other slave process, this will be done entirely in-process. @ 1.1 log @Initial revision @ text @@ 1.1.1.1 log @Initial import of openpgpsdk v0.9 into the external section of the crypto sources, per conversation with core. License is 3-clause BSD. An OpenPGP library implementation (RSA and partial DSA), conformant with RFC4880 "OpenPGP Message Format". RSA Key Generation * S2K Usage: ENCRYPTED_AND_HASHED * S2K Specifier: SALTED * Symmetric algorithm: CAST5 RSA Encryption * Generates "Symmetrically Encrypted Integrity Protected Data" packets (required by RFC) * Hash: SHA1 (required by RFC) * Symmetric Algorithm: CAST5 (hard-coded) * Uses compression * Optional ASCII armouring RSA Decryption * Symmetric Algorithm: CAST5, AES, AES256, 3DES * Optional Compression: ZIP, ZLIB, BZIP2 * Optional ASCII armouring RSA Signature * Armoured, unarmoured or clearsigned * Hash algorithm: SHA1 RSA Verification * Armoured, unarmoured or clearsigned * V3 or V4 signatures * Hash algorithms: SHA1, SHA256, SHA384, SHA512, SHA224 DSA Signature * Armoured, unarmoured or clearsigned * Hash algorithms: SHA1 DSA Verification * Armoured, unarmoured or clearsigned * V3 or V4 signatures * Hash algorithms: SHA1, SHA256, SHA384, SHA512, SHA224 @ text @@