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      @Override
31      public byte getCode() {
32          return SecurityConstants.AA_RAKP_NONE;
33      }
34  
35      /**
36       * Checks value of the Key Exchange Authentication Code in RAKP messages
37       * using the RAKP-None algorithm.
38       */
39      @Override
40      public boolean checkKeyExchangeAuthenticationCode(byte[] data, byte[] key, String password) {
41          return true;
42      }
43  
44      /**
45       * Calculates value of the Key Exchange Authentication Code in RAKP messages
46       * using the RAKP-None algorithm.
47       */
48      @Override
49      public byte[] getKeyExchangeAuthenticationCode(byte[] data,
50              String password) {
51          return new byte[0];
52      }
53  
54      /**
55       * Performs Integrity Check in RAKP 4 message
56       * using the RAKP-None algorithm.
57       */
58      @Override
59      public boolean doIntegrityCheck(byte[] data, byte[] reference, byte[] sik) {
60          return true;
61      }
62  
63      @Override
64      public int getKeyLength() {
65          return 0;
66      }
67  
68      @Override
69      public int getIntegrityCheckBaseLength() {
70          return 0;
71      }
72  
73  }