Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: mindbright/ssh/SSHRSAPublicKeyString.java


1   /******************************************************************************
2    *
3    * Copyright (c) 1998,99 by Mindbright Technology AB, Stockholm, Sweden.
4    *                 www.mindbright.se, info@mindbright.se
5    *
6    * This program is free software; you can redistribute it and/or modify
7    * it under the terms of the GNU General Public License as published by
8    * the Free Software Foundation; either version 2 of the License, or
9    * (at your option) any later version.
10   *
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   *
16   *****************************************************************************
17   * $Author: nallen $
18   * $Date: 2001/11/12 16:31:21 $
19   * $Name:  $
20   *****************************************************************************/
21  package mindbright.ssh;
22  
23  import java.math.BigInteger;
24  import java.util.StringTokenizer;
25  import java.util.NoSuchElementException;
26  import java.io.*;
27  
28  import mindbright.security.*;
29  
30  public class SSHRSAPublicKeyString extends RSAPublicKey {
31  
32    String user;
33    String opts;
34  
35    public SSHRSAPublicKeyString(String opts, String user, BigInteger e, BigInteger n) {
36      super(e, n);
37      this.opts = opts;
38      this.user = user;
39    }
40  
41    public static SSHRSAPublicKeyString createKey(String opts, String pubKey) throws NoSuchElementException {
42      StringTokenizer tok  = new StringTokenizer(pubKey);
43      String          user = null;
44      String bits;
45      String e;
46      String n;
47  
48      bits = tok.nextToken();
49      e    = tok.nextToken();
50      n    = tok.nextToken();
51      if(tok.hasMoreElements())
52        user = tok.nextToken();
53  
54      return new SSHRSAPublicKeyString(opts, user, new BigInteger(e), new BigInteger(n));
55    }
56  
57    public String getOpts() {
58      return opts;
59    }
60  
61    public String getUser() {
62      return user;
63    }
64  
65    public String toString() {
66      return ((opts != null ? (opts + " ") : "") +
67        bitLength() + " " + getE() + " " + getN() + " " +
68        (user != null ? user : ""));
69    }
70  
71    public void toFile(String fileName) throws IOException {
72      FileOutputStream    fileOut = new FileOutputStream(fileName);
73      SSHDataOutputStream dataOut = new SSHDataOutputStream(fileOut);
74      dataOut.writeBytes(toString());
75      dataOut.close();
76    }
77  
78  }