pub struct Cred(/* private fields */);Expand description
gssapi credentials.
Implementations§
Source§impl Cred
impl Cred
Sourcepub fn acquire(
name: Option<&Name>,
time_req: Option<Duration>,
usage: CredUsage,
desired_mechs: Option<&OidSet>,
) -> Result<Cred, Error>
pub fn acquire( name: Option<&Name>, time_req: Option<Duration>, usage: CredUsage, desired_mechs: Option<&OidSet>, ) -> Result<Cred, Error>
Acquire gssapi credentials for name or the default name,
lasting for time_req or as long as possible, for the purpose
of usage, and for use with desired_mechs or the default
mechanism.
Examples found in repository?
examples/krb5.rs (lines 95-97)
86fn setup_server_ctx(
87 service_name: &[u8],
88 desired_mechs: &OidSet
89) -> Result<(ServerCtx, Name), Error> {
90 println!("import name");
91 let name = Name::new(service_name, Some(&GSS_NT_HOSTBASED_SERVICE))?;
92 let cname = name.canonicalize(Some(&GSS_MECH_KRB5))?;
93 println!("canonicalize name for kerberos 5");
94 println!("server name: {}, server cname: {}", name, cname);
95 let server_cred = Cred::acquire(
96 Some(&cname), None, CredUsage::Accept, Some(desired_mechs)
97 )?;
98 println!("acquired server credentials: {:#?}", server_cred.info()?);
99 Ok((ServerCtx::new(Some(server_cred)), cname))
100}
101
102fn setup_client_ctx(
103 service_name: Name,
104 desired_mechs: &OidSet
105) -> Result<ClientCtx, Error> {
106 let client_cred = Cred::acquire(
107 None, None, CredUsage::Initiate, Some(&desired_mechs)
108 )?;
109 println!("acquired default client credentials: {:#?}", client_cred.info()?);
110 Ok(ClientCtx::new(
111 Some(client_cred), service_name, CtxFlags::GSS_C_MUTUAL_FLAG, Some(&GSS_MECH_KRB5)
112 ))
113}pub fn acquire_with_password( name: Option<&Name>, password: &str, time_req: Option<Duration>, usage: CredUsage, desired_mechs: Option<&OidSet>, ) -> Result<Cred, Error>
Sourcepub fn store(
&self,
overwrite: bool,
default: bool,
usage: CredUsage,
desired_mech: Option<&Oid>,
) -> Result<(OidSet, CredUsage), Error>
pub fn store( &self, overwrite: bool, default: bool, usage: CredUsage, desired_mech: Option<&Oid>, ) -> Result<(OidSet, CredUsage), Error>
Store the credential into default credentials cache. See gss_store_cred.
Sourcepub fn info(&self) -> Result<CredInfo, Error>
pub fn info(&self) -> Result<CredInfo, Error>
Return all the information associated with this credential
Examples found in repository?
examples/krb5.rs (line 98)
86fn setup_server_ctx(
87 service_name: &[u8],
88 desired_mechs: &OidSet
89) -> Result<(ServerCtx, Name), Error> {
90 println!("import name");
91 let name = Name::new(service_name, Some(&GSS_NT_HOSTBASED_SERVICE))?;
92 let cname = name.canonicalize(Some(&GSS_MECH_KRB5))?;
93 println!("canonicalize name for kerberos 5");
94 println!("server name: {}, server cname: {}", name, cname);
95 let server_cred = Cred::acquire(
96 Some(&cname), None, CredUsage::Accept, Some(desired_mechs)
97 )?;
98 println!("acquired server credentials: {:#?}", server_cred.info()?);
99 Ok((ServerCtx::new(Some(server_cred)), cname))
100}
101
102fn setup_client_ctx(
103 service_name: Name,
104 desired_mechs: &OidSet
105) -> Result<ClientCtx, Error> {
106 let client_cred = Cred::acquire(
107 None, None, CredUsage::Initiate, Some(&desired_mechs)
108 )?;
109 println!("acquired default client credentials: {:#?}", client_cred.info()?);
110 Ok(ClientCtx::new(
111 Some(client_cred), service_name, CtxFlags::GSS_C_MUTUAL_FLAG, Some(&GSS_MECH_KRB5)
112 ))
113}Sourcepub fn proxy(&self) -> Result<Option<Name>, Error>
pub fn proxy(&self) -> Result<Option<Name>, Error>
Return the proxy service associated with this credential
Sourcepub fn mechanisms(&self) -> Result<OidSet, Error>
pub fn mechanisms(&self) -> Result<OidSet, Error>
Return the mechanisms this credential may be used with
Trait Implementations§
Source§impl From<*mut gss_cred_id_struct> for Cred
impl From<*mut gss_cred_id_struct> for Cred
Source§fn from(id: gss_cred_id_t) -> Self
fn from(id: gss_cred_id_t) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for Cred
impl RefUnwindSafe for Cred
impl Send for Cred
impl Sync for Cred
impl Unpin for Cred
impl UnwindSafe for Cred
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more