code: public void init(byte[] blob, int start, int len) throws SshException {
  
  		ByteArrayReader bar = new ByteArrayReader(blob, start, len);
  
  		try {
  
  			String header = bar.readString();
  
  			if (!header.equals(X509V3_SIGN_RSA_SHA1)) {
  				throw new SshException("The encoded key is not X509 RSA",
  						SshException.INTERNAL_ERROR);
  			}
  
  			byte[] encoded = bar.readBinaryString();
  
  			ByteArrayInputStream is = new ByteArrayInputStream(encoded);
  
  			CertificateFactory cf = JCEProvider
  					.getProviderForAlgorithm(JCEAlgorithms.JCE_X509) == null ? CertificateFactory
  					.getInstance(JCEAlgorithms.JCE_X509) : CertificateFactory
  					.getInstance(JCEAlgorithms.JCE_X509, JCEProvider
  							.getProviderForAlgorithm(JCEAlgorithms.JCE_X509));
  
  			this.cert = (X509Certificate) cf.generateCertificate(is);
  
  			if (!(cert.getPublicKey() instanceof RSAPublicKey))
  				throw new SshException(
  						"Certificate public key is not an RSA public key!",
  						SshException.BAD_API_USAGE);
  
  			this.pubKey = (RSAPublicKey) cert.getPublicKey();
  
  		} catch (Throwable ex) {
  			throw new SshException(ex.getMessage(), SshException.JCE_ERROR, ex);
  		} finally {
  			try {
  				bar.close();
  			} catch (IOException e) {
  			}
  		}
  	}
docs: Initialize the public key from a blob of binary data.
  
  @param blob
  byte[]
  @param start
  int
  @param len
  int
  @throws SshException
  @todo Implement this com.sshtools.ssh.SshPublicKey method