View Javadoc
1   package org.sentrysoftware.ipmi.core.coding.security;
2   
3   /*-
4    * ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲
5    * IPMI Java Client
6    * ჻჻჻჻჻჻
7    * Copyright 2023 Verax Systems, Sentry Software
8    * ჻჻჻჻჻჻
9    * This program is free software: you can redistribute it and/or modify
10   * it under the terms of the GNU Lesser General Public License as
11   * published by the Free Software Foundation, either version 3 of the
12   * License, or (at your option) any later version.
13   *
14   * This program is distributed in the hope that it will be useful,
15   * but WITHOUT ANY WARRANTY; without even the implied warranty of
16   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17   * GNU General Lesser Public License for more details.
18   *
19   * You should have received a copy of the GNU General Lesser Public
20   * License along with this program.  If not, see
21   * <http://www.gnu.org/licenses/lgpl-3.0.html>.
22   * ╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱
23   */
24  
25  /**
26   * RAKP-None authentication algorithm.
27   */
28  public class AuthenticationRakpNone extends AuthenticationAlgorithm {
29  
30  	/**
31       * Constructs an instance of the RAKP-None authentication algorithm.
32       */
33  	public AuthenticationRakpNone() {
34  		super("");
35  	}
36  
37  	@Override
38  	public byte getCode() {
39  		return SecurityConstants.AA_RAKP_NONE;
40  	}
41  
42  	/**
43  	 * Checks value of the Key Exchange Authentication Code in RAKP messages using
44  	 * the RAKP-None algorithm.
45  	 */
46  	@Override
47  	public boolean checkKeyExchangeAuthenticationCode(byte[] data, byte[] key, String password) {
48  		return true;
49  	}
50  
51  	/**
52  	 * Calculates value of the Key Exchange Authentication Code in RAKP messages
53  	 * using the RAKP-None algorithm.
54  	 */
55  	@Override
56  	public byte[] getKeyExchangeAuthenticationCode(byte[] data, String password) {
57  		return new byte[0];
58  	}
59  
60  	/**
61  	 * Performs Integrity Check in RAKP 4 message using the RAKP-None algorithm.
62  	 */
63  	@Override
64  	public boolean doIntegrityCheck(byte[] data, byte[] reference, byte[] sik) {
65  		return true;
66  	}
67  
68  	@Override
69  	public int getKeyLength() {
70  		return 0;
71  	}
72  
73  	@Override
74  	public int getIntegrityCheckBaseLength() {
75  		return 0;
76  	}
77  
78  	@Override
79  	public String getAlgorithmName() {
80  		return "";
81  	}
82  }