Deleted Added
full compact
key.h (207319) key.h (215116)
1/* $OpenBSD: key.h,v 1.29 2010/03/15 19:40:02 stevesk Exp $ */
1/* $OpenBSD: key.h,v 1.30 2010/04/16 01:47:26 djm Exp $ */
2
3/*
4 * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright

--- 22 unchanged lines hidden (view full) ---

32
33typedef struct Key Key;
34enum types {
35 KEY_RSA1,
36 KEY_RSA,
37 KEY_DSA,
38 KEY_RSA_CERT,
39 KEY_DSA_CERT,
2
3/*
4 * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright

--- 22 unchanged lines hidden (view full) ---

32
33typedef struct Key Key;
34enum types {
35 KEY_RSA1,
36 KEY_RSA,
37 KEY_DSA,
38 KEY_RSA_CERT,
39 KEY_DSA_CERT,
40 KEY_RSA_CERT_V00,
41 KEY_DSA_CERT_V00,
40 KEY_UNSPEC
41};
42enum fp_type {
43 SSH_FP_SHA1,
44 SSH_FP_MD5
45};
46enum fp_rep {
47 SSH_FP_HEX,
48 SSH_FP_BUBBLEBABBLE,
49 SSH_FP_RANDOMART
50};
51
52/* key is stored in external hardware */
53#define KEY_FLAG_EXT 0x0001
54
55#define CERT_MAX_PRINCIPALS 256
56struct KeyCert {
57 Buffer certblob; /* Kept around for use on wire */
58 u_int type; /* SSH2_CERT_TYPE_USER or SSH2_CERT_TYPE_HOST */
42 KEY_UNSPEC
43};
44enum fp_type {
45 SSH_FP_SHA1,
46 SSH_FP_MD5
47};
48enum fp_rep {
49 SSH_FP_HEX,
50 SSH_FP_BUBBLEBABBLE,
51 SSH_FP_RANDOMART
52};
53
54/* key is stored in external hardware */
55#define KEY_FLAG_EXT 0x0001
56
57#define CERT_MAX_PRINCIPALS 256
58struct KeyCert {
59 Buffer certblob; /* Kept around for use on wire */
60 u_int type; /* SSH2_CERT_TYPE_USER or SSH2_CERT_TYPE_HOST */
61 u_int64_t serial;
59 char *key_id;
60 u_int nprincipals;
61 char **principals;
62 u_int64_t valid_after, valid_before;
62 char *key_id;
63 u_int nprincipals;
64 char **principals;
65 u_int64_t valid_after, valid_before;
63 Buffer constraints;
66 Buffer critical;
67 Buffer extensions;
64 Key *signature_key;
65};
66
67struct Key {
68 int type;
69 int flags;
70 RSA *rsa;
71 DSA *dsa;

--- 15 unchanged lines hidden (view full) ---

87int key_read(Key *, char **);
88u_int key_size(const Key *);
89
90Key *key_generate(int, u_int);
91Key *key_from_private(const Key *);
92int key_type_from_name(char *);
93int key_is_cert(const Key *);
94int key_type_plain(int);
68 Key *signature_key;
69};
70
71struct Key {
72 int type;
73 int flags;
74 RSA *rsa;
75 DSA *dsa;

--- 15 unchanged lines hidden (view full) ---

91int key_read(Key *, char **);
92u_int key_size(const Key *);
93
94Key *key_generate(int, u_int);
95Key *key_from_private(const Key *);
96int key_type_from_name(char *);
97int key_is_cert(const Key *);
98int key_type_plain(int);
95int key_to_certified(Key *);
99int key_to_certified(Key *, int);
96int key_drop_cert(Key *);
97int key_certify(Key *, Key *);
98void key_cert_copy(const Key *, struct Key *);
99int key_cert_check_authority(const Key *, int, int, const char *,
100 const char **);
100int key_drop_cert(Key *);
101int key_certify(Key *, Key *);
102void key_cert_copy(const Key *, struct Key *);
103int key_cert_check_authority(const Key *, int, int, const char *,
104 const char **);
105int key_cert_is_legacy(Key *);
101
102Key *key_from_blob(const u_char *, u_int);
103int key_to_blob(const Key *, u_char **, u_int *);
104const char *key_ssh_name(const Key *);
105int key_names_valid2(const char *);
106
107int key_sign(const Key *, u_char **, u_int *, const u_char *, u_int);
108int key_verify(const Key *, const u_char *, u_int, const u_char *, u_int);
109
110int ssh_dss_sign(const Key *, u_char **, u_int *, const u_char *, u_int);
111int ssh_dss_verify(const Key *, const u_char *, u_int, const u_char *, u_int);
112int ssh_rsa_sign(const Key *, u_char **, u_int *, const u_char *, u_int);
113int ssh_rsa_verify(const Key *, const u_char *, u_int, const u_char *, u_int);
114
115#endif
106
107Key *key_from_blob(const u_char *, u_int);
108int key_to_blob(const Key *, u_char **, u_int *);
109const char *key_ssh_name(const Key *);
110int key_names_valid2(const char *);
111
112int key_sign(const Key *, u_char **, u_int *, const u_char *, u_int);
113int key_verify(const Key *, const u_char *, u_int, const u_char *, u_int);
114
115int ssh_dss_sign(const Key *, u_char **, u_int *, const u_char *, u_int);
116int ssh_dss_verify(const Key *, const u_char *, u_int, const u_char *, u_int);
117int ssh_rsa_sign(const Key *, u_char **, u_int *, const u_char *, u_int);
118int ssh_rsa_verify(const Key *, const u_char *, u_int, const u_char *, u_int);
119
120#endif