Examples of KrbPriv


Examples of org.apache.directory.shared.kerberos.messages.KrbPriv

        catch ( KerberosException ke )
        {
            throw new ChangePasswordException( ChangePasswdErrorType.KRB5_KPASSWD_SOFTERROR, ke );
        }

        KrbPriv privateMessage = new KrbPriv();
        privateMessage.setEncPart( encPrivPart );

        // Begin AP_REP generation
        EncApRepPart repPart = new EncApRepPart();
        repPart.setCTime( authenticator.getCtime() );
        repPart.setCusec( authenticator.getCusec() );
View Full Code Here

Examples of org.apache.directory.shared.kerberos.messages.KrbPriv

    {
        try
        {
            ChangePasswordReply reply = ( ChangePasswordReply ) changepwContext.getReply();
            ApRep appReply = reply.getApplicationReply();
            KrbPriv priv = reply.getPrivateMessage();

            StringBuilder sb = new StringBuilder();
            sb.append( "Responding with change password reply:" );
            sb.append( "\n\t" + "appReply               " + appReply );
            sb.append( "\n\t" + "priv                   " + priv );
View Full Code Here

Examples of org.apache.directory.shared.kerberos.messages.KrbPriv

            // This will generate a PROTOCOL_ERROR
            throw new DecoderException( I18n.err( I18n.ERR_04067 ) );
        }

        KrbPriv krbPriv = new KrbPriv();
        krbPrivContainer.setKrbPriv( krbPriv );

        if ( IS_DEBUG )
        {
            LOG.debug( "KrbPriv created" );
View Full Code Here

Examples of org.apache.directory.shared.kerberos.messages.KrbPriv

        {
            throw new KerberosException( ErrorType.KRB_AP_ERR_BAD_INTEGRITY, de );
        }

        // get the decoded KrbPriv
        KrbPriv krbPriv = ( ( KrbPrivContainer ) krbPrivContainer ).getKrbPriv();

        return krbPriv;
    }
View Full Code Here

Examples of org.apache.directory.shared.kerberos.messages.KrbPriv

       
        ChangePasswordReply chngPwdReply = ( ChangePasswordReply ) ChangePasswordDecoder.decode( chngpwdReplyData, false );

        ApRep apRep = chngPwdReply.getApplicationReply();
       
        KrbPriv krbPriv = chngPwdReply.getPrivateMessage();
        byte[] decryptedKrbPrivPart = cipherTextHandler.decrypt( subSessionKey, krbPriv.getEncPart(), KeyUsage.KRB_PRIV_ENC_PART_CHOSEN_KEY );
        EncKrbPrivPart krbPrivPart = KerberosDecoder.decodeEncKrbPrivPart( decryptedKrbPrivPart );
        System.out.println( krbPrivPart );
    }
View Full Code Here

Examples of org.apache.directory.shared.kerberos.messages.KrbPriv

           
            EncryptedData authData = cipherTextHandler.encrypt( tgt.getSessionKey(), getEncoded( authenticator ), KeyUsage.AP_REQ_AUTHNT_SESS_KEY );
            apReq.setAuthenticator( authData );
           
           
            KrbPriv privateMessage = new KrbPriv();
           
            EncKrbPrivPart part = new EncKrbPrivPart();
            part.setSenderAddress( new HostAddress( InetAddress.getLocalHost() ) );
            part.setSeqNumber( authenticator.getSeqNumber() );
            part.setTimestamp( authenticator.getCtime() );

            short changePwdPVNO = ChangePasswordRequest.PVNO;
           
            if( config.isUseLegacyChngPwdProtocol() )
            {
                part.setUserData( Strings.getBytesUtf8( newPassword ) );
                changePwdPVNO = ChangePasswordRequest.OLD_PVNO;
            }
            else
            {
                ChangePasswdData chngPwdData = new ChangePasswdData();
                chngPwdData.setNewPasswd( Strings.getBytesUtf8( newPassword ) );
                //chngPwdData.setTargName( new PrincipalName( clientPrincipal, PrincipalNameType.KRB_NT_PRINCIPAL ) );
                //chngPwdData.setTargRealm( clientTgtReq.getRealm() );
                byte[] data = getEncoded( chngPwdData );
                part.setUserData( data );
            }
           
            EncryptedData encKrbPrivPartData = cipherTextHandler.encrypt( subKey, getEncoded( part ), KeyUsage.KRB_PRIV_ENC_PART_CHOSEN_KEY );
            privateMessage.setEncPart( encKrbPrivPartData );
           
            ChangePasswordRequest req = new ChangePasswordRequest( changePwdPVNO, apReq, privateMessage );
           
            channel = new KerberosChannel();
            channel.openConnection( config.getHostName(), config.getPasswdPort(), config.getTimeout(), config.isUseUdp() );
           
            AbstractPasswordMessage reply = sendAndReceiveChngPwdMsg( req, channel );
           
            if ( reply instanceof ChangePasswordError )
            {
                ChangePasswordError err = ( ChangePasswordError ) reply;
               
                ChangePasswordResult result = new ChangePasswordResult( err.getKrbError().getEData() );

                return result;
            }
           
            ChangePasswordReply chngPwdReply = ( ChangePasswordReply ) reply;

            KrbPriv replyPriv = chngPwdReply.getPrivateMessage();
            // the same subKey present in ApReq is used for encrypting the KrbPriv present in reply
            byte[] data = cipherTextHandler.decrypt( subKey, replyPriv.getEncPart(), KeyUsage.KRB_PRIV_ENC_PART_CHOSEN_KEY );
            part = KerberosDecoder.decodeEncKrbPrivPart( data );
           
            ChangePasswordResult result = new ChangePasswordResult( part.getUserData() );
           
            return result;
View Full Code Here

Examples of org.apache.directory.shared.kerberos.messages.KrbPriv

            ApReq authHeader = KerberosDecoder.decodeApReq( undecodedAuthHeader );
           
            byte[] encodedPrivate = new byte[buf.remaining()];
            buf.get( encodedPrivate, 0, buf.remaining() );
           
            KrbPriv privMessage = KerberosDecoder.decodeKrbPriv( encodedPrivate );
           
            return new ChangePasswordRequest( pvno, authHeader, privMessage );
        }
        catch( KerberosException e )
        {
View Full Code Here

Examples of org.apache.directory.shared.kerberos.messages.KrbPriv

            int privateBytesLength = messageLength - HEADER_LENGTH - encodedAppReplyLength;
            byte[] encodedPrivateMessage = new byte[privateBytesLength];
            buf.get( encodedPrivateMessage );

            KrbPriv privateMessage = KerberosDecoder.decodeKrbPriv( encodedPrivateMessage );

            return new ChangePasswordReply( protocolVersion, applicationReply, privateMessage );
        }
        catch ( KerberosException e )
        {
View Full Code Here

Examples of org.apache.directory.shared.kerberos.messages.KrbPriv

        catch ( DecoderException e )
        {
            fail();
        }

        KrbPriv krbPriv = container.getKrbPriv();

        assertEquals( 5, krbPriv.getProtocolVersionNumber() );
        assertEquals( KerberosMessageType.KRB_PRIV, krbPriv.getMessageType() );
        assertNotNull( krbPriv.getEncPart() );

        int encodedLen = krbPriv.computeLength();
        assertEquals( streamLen, encodedLen );

        try
        {
            ByteBuffer bb = ByteBuffer.allocate( encodedLen );
            krbPriv.encode( bb );

            String encoded = Strings.dumpBytes( bb.array() );
            assertEquals( decoded, encoded );
        }
        catch ( EncoderException e )
View Full Code Here

Examples of org.apache.directory.shared.kerberos.messages.KrbPriv

        {
            throw new KerberosException( ErrorType.KRB_AP_ERR_BAD_INTEGRITY, de );
        }

        // get the decoded KrbPriv
        KrbPriv krbPriv = ( ( KrbPrivContainer ) krbPrivContainer ).getKrbPriv();

        return krbPriv;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.