KeyStore(示例,出错代码)
java.security
类 KeyStore
java.lang.Object java.security.KeyStore
public class KeyStore
extends Object
此类表示密钥和证书的存储设施。
KeyStore
管理不同类型的条目。每种类型的条目都实现 KeyStore.Entry
接口。提供了三种基本的 KeyStore.Entry
实现:
KeyStore.PrivateKeyEntry
此类型的条目保存一个加密的
PrivateKey
,可以选择用受保护格式存储该私钥,以防止未授权访问。它还随附一个相应公钥的证书链。给定条目使用私钥和证书链进行自验证 (self-authentication)。应用此验证的包括软件发布组织,它们将 JAR 文件签名为发布和/或许可软件的一部分。
KeyStore.SecretKeyEntry
此类型的条目保存一个加密的
SecretKey
,可以选择用受保护格式存储该密钥,以防止未授权访问。KeyStore.TrustedCertificateEntry
此类型的条目包含一个属于另一方的单个公钥
Certificate
。它被称为可信证书,因为 keystore 的所有者相信证书中的公钥确实属于该证书的 subject(所有者)所标识的身份。此类型的条目可用于验证其他方。
KeyStore 中的每一条目都用 “alias” 字符串标识。对于私钥及其关联的证书链,这些字符串用于区分实体验证自身可以采用的不同方式。例如,实体可以使用不同的证书授权或不同的公钥算法来验证自身。
别名是否区分大小写与实现有关。为了避免出现问题,建议不要在 KeyStore 中使用只有大小写区别的别名。
在这里没有指定 keystore 是否是持久性的,也没有指定 keystore 是持久性时所使用的机制。这允许使用各种技术保护敏感的(例如,私有的或秘密的)密钥。一种选择是使用智能卡或其他集成加密引擎 (SafeKeyper),也可以(以各种格式)使用文件之类更为简单的机制。
请求 KeyStore 对象的典型方式包括使用默认类型和提供一个特定的 keystore 类型。
使用默认类型:
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
系统将返回默认类型的 keystore 实现。
提供特定的 keystore 类型:
KeyStore ks = KeyStore.getInstance("JKS");
系统将返回环境中可用的指定 keystore 类型的首选实现。
必须先加载 keystore 才能对其进行访问。
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());// get user password and file input streamchar[] password = getPassword();java.io.FileInputStream fis = null;try {fis = new java.io.FileInputStream("keyStoreName");ks.load(fis, password);} finally {if (fis != null) {fis.close();}}
要使用上述 load
方法创建一个空 keystore,传递 null
作为 InputStream
的参数。
一旦加载了 keystore,就能够从 keystore 读取现有条目,或向 keystore 写入新条目:
// get my private keyKeyStore.PrivateKeyEntry pkEntry = (KeyStore.PrivateKeyEntry)ks.getEntry("privateKeyAlias", password);PrivateKey myPrivateKey = pkEntry.getPrivateKey();// save my secret keyjavax.crypto.SecretKey mySecretKey;KeyStore.SecretKeyEntry skEntry =new KeyStore.SecretKeyEntry(mySecretKey);ks.setEntry("secretKeyAlias", skEntry, new KeyStore.PasswordProtection(password));// store away the keystorejava.io.FileOutputStream fos = null;try {fos = new java.io.FileOutputStream("newKeyStoreName");ks.store(fos, password);} finally {if (fos != null) {fos.close();}}
注意,可以使用相同的密码加载 keystore、保护私钥条目、保护秘密密钥条目以及存储 keystore(如上文示例代码所示),也可以使用不同的密码或其他保护参数。
从以下版本开始:
1.2
另请参见:
PrivateKey, SecretKey, Certificate
嵌套类摘要 | |
---|---|
static class
|
KeyStore.Builder 将被实例化的 KeyStore 对象的描述。 |
static class
|
KeyStore.CallbackHandlerProtection 封装 CallbackHandler 的 ProtectionParameter。 |
static interface
|
KeyStore.Entry 用于 KeyStore 项类型的标记接口。
|
static interface
|
KeyStore.LoadStoreParameter 用于 KeyStore load 和 store 参数的标记接口。
|
static class
|
KeyStore.PasswordProtection ProtectionParameter 的一个基于密码的实现。
|
static class
|
KeyStore.PrivateKeyEntry 保存 PrivateKey 和相应证书链的 KeyStore 项。
|
static interface
|
KeyStore.ProtectionParameter 用于 keystore 保护参数的标记接口。 |
static class
|
KeyStore.SecretKeyEntry 保存 SecretKey 的 KeyStore 项。
|
static class
|
KeyStore.TrustedCertificateEntry 保存可信的 Certificate 的 KeyStore 项。
|
构造方法摘要 | |
---|---|
protected
|
KeyStore(KeyStoreSpi keyStoreSpi, Provider provider, String type) 创建给定类型的 KeyStore 对象,并在其中封装给定的提供者实现(SPI 对象)。 |
方法摘要 | |
---|---|
Enumeration<String>
|
aliases() 列出此 keystore 的所有别名。 |
boolean
|
containsAlias(String alias) 检查给定别名是否存在于此 keystore 中。 |
void
|
deleteEntry(String alias) 删除此 keystore 中给定别名标识的条目。 |
boolean
|
entryInstanceOf(String alias, Class<? extends KeyStore.Entry> entryClass) 确定指定 alias 的 keystore Entry 是否是指定 entryClass 的实例或子类。
|
Certificate
|
getCertificate(String alias) 返回与给定别名关联的证书。 |
String
|
getCertificateAlias(Certificate cert) 返回证书与给定证书匹配的第一个 keystore 条目的别名。 |
Certificate[]
|
getCertificateChain(String alias) 返回与给定别名关联的证书链。 |
Date
|
getCreationDate(String alias) 返回给定别名标识的条目的创建日期。 |
static String
|
getDefaultType() 返回 Java 安全属性文件中指定的默认 keystore 类型;如果不存在此类属性,则返回字符串 "jks"("Java keystore" 的首字母缩写)。 |
KeyStore.Entry
|
getEntry(String alias, KeyStore.ProtectionParameter protParam) 使用指定保护参数获取指定别名的 keystore Entry 。
|
static KeyStore
|
getInstance(String type) 返回指定类型的 keystore 对象。 |
static KeyStore
|
getInstance(String type, Provider provider) 返回指定类型的 keystore 对象。 |
static KeyStore
|
getInstance(String type, String provider) 返回指定类型的 keystore 对象。 |
Key
|
getKey(String alias, char[] password) 返回与给定别名关联的密钥,并用给定密码来恢复它。 |
Provider
|
getProvider() 返回此 keystore 的提供者。 |
String
|
getType() 返回此 keystore 的类型。 |
boolean
|
isCertificateEntry(String alias) 如果给定别名标识的条目是通过调用 setCertificateEntry 或者以 TrustedCertificateEntry 为参数的 setEntry 创建的,则返回 true。
|
boolean
|
isKeyEntry(String alias) 如果给定别名标识的条目是通过调用 setKeyEntry 或者以 PrivateKeyEntry 或 SecretKeyEntry 为参数的 setEntry 创建的,则返回 true。
|
void
|
load(InputStream stream, char[] password) 从给定输入流中加载此 KeyStore。 |
void
|
load(KeyStore.LoadStoreParameter param) 使用给定 LoadStoreParameter 加载此 keystore。
|
void
|
setCertificateEntry(String alias, Certificate cert) 将给定可信证书分配给给定别名。 |
void
|
setEntry(String alias, KeyStore.Entry entry, KeyStore.ProtectionParameter protParam) 用指定别名保存 keystore Entry 。
|
void
|
setKeyEntry(String alias, byte[] key, Certificate[] chain) 将给定密钥(已经被保护)分配给给定别名。 |
void
|
setKeyEntry(String alias, Key key, char[] password, Certificate[] chain) 将给定的密钥分配给给定的别名,并用给定密码保护它。 |
int
|
size() 获取此 keystore 中条目数。 |
void
|
store(KeyStore.LoadStoreParameter param) 使用给定 LoadStoreParameter 存储此 keystore。
|
void
|
store(OutputStream stream, char[] password) 将此 keystore 存储到给定输出流,并用给定密码保护其完整性。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
|
构造方法详细信息 |
---|
KeyStore
protected KeyStore(KeyStoreSpi keyStoreSpi,Provider provider,String type)
创建给定类型的 KeyStore 对象,并在其中封装给定的提供者实现(SPI 对象)。
参数:
keyStoreSpi
- 提供者实现provider
- 提供者type
- keystore 类型。
方法详细信息 |
---|
getInstance
public static KeyStore getInstance(String type)throws KeyStoreException
返回指定类型的 keystore 对象。
此方法从首选 Provider 开始遍历已注册安全提供者列表。返回一个封装 KeyStoreSpi 实现的新 KeyStore 对象,该实现取自第一个支持指定类型的 Provider。
注意,可以通过 Security.getProviders() 方法获取已注册提供者列表。
参数:
type
- keystore 类型。有关标准 keystore 类型的信息,请参阅 Java Cryptography Architecture API Specification & Reference 中的附录 A。返回:
指定类型的 keystore 对象。
抛出:
KeyStoreException
- 如果没有 Provider 支持指定类型的 KeyStoreSpi 实现。另请参见:
Provider
getInstance
public static KeyStore getInstance(String type,String provider)throws KeyStoreException,NoSuchProviderException
返回指定类型的 keystore 对象。
返回一个封装 KeyStoreSpi 实现的新 KeyStore 对象,该实现取自指定提供者。指定提供者必须在安全提供者列表中注册。
注意,可以通过 Security.getProviders() 方法获取已注册提供者列表。
参数:
type
- keystore 类型。有关标准 keystore 类型的信息,请参阅 Java Cryptography Architecture API Specification & Reference 中的附录 A。provider
- 提供者的名称。返回:
指定类型的 keystore 对象。
抛出:
KeyStoreException
- 如果不能从指定提供者获得指定类型的 KeyStoreSpi 实现。NoSuchProviderException
- 如果指定提供者未在安全提供者列表中注册。IllegalArgumentException
- 如果提供者的名称为 null 或空。另请参见:
Provider
getInstance
public static KeyStore getInstance(String type,Provider provider)throws KeyStoreException
返回指定类型的 keystore 对象。
返回一个封装 KeyStoreSpi 实现的新 KeyStore 对象,该实现取自指定 Provider 对象。注意,指定 Provider 对象无需在提供者列表中注册。
参数:
type
- keystore 类型。有关标准 keystore 类型的信息,请参阅 Java Cryptography Architecture API Specification & Reference 中的附录 A。provider
- 提供者。返回:
指定类型的 keystore 对象。
抛出:
KeyStoreException
- 如果不能从指定 Provider 对象获得指定类型的 KeyStoreSpi 实现。IllegalArgumentException
- 如果指定提供者为 null。从以下版本开始:
1.4
另请参见:
Provider
getDefaultType
public static final String getDefaultType()
返回 Java 安全属性文件中指定的默认 keystore 类型;如果不存在此类属性,则返回字符串 "jks"("Java keystore" 的首字母缩写)。Java 安全属性文件位于名为 <JAVA_HOME>/lib/security/java.security 的文件中。<JAVA_HOME> 引用 java.home 系统属性的值,并指定安装 JRE 的目录。
调用某个
getInstance
方法时不希望使用固定编码 (hard coded) keystore 类型的应用程序,以及用户未指定 keystore 类型时希望提供默认 keystore 类型的应用程序可以使用默认的 keystore 类型。通过将 "keystore.type" 安全属性(在 Java 安全属性文件中)的值设置为所需的 keystore 类型,可以更改默认的 keystore 类型。
返回:
Java 安全属性文件中指定的默认 keystore 类型;如果不存在此类属性,则返回字符串 "jks"。
getProvider
public final Provider getProvider()
返回此 keystore 的提供者。
返回:
此 keystore 的提供者。
getType
public final String getType()
返回此 keystore 的类型。
返回:
此 keystore 的类型。
getKey
public final Key getKey(String alias,char[] password)throws KeyStoreException,NoSuchAlgorithmException,UnrecoverableKeyException
返回与给定别名关联的密钥,并用给定密码来恢复它。必须已经通过调用
setKeyEntry
,或者以PrivateKeyEntry
或SecretKeyEntry
为参数的setEntry
关联密钥与别名。参数:
alias
- 别名password
- 用于恢复密钥的密码返回:
请求的密钥;如果给定别名不存在或不标识与密钥相关的条目,则返回 null。
抛出:
KeyStoreException
- 如果 keystore 尚未被初始化(加载)。NoSuchAlgorithmException
- 如果不能找到恢复密钥的算法UnrecoverableKeyException
- 如果不能恢复密钥(例如,给定密码错误)。
getCertificateChain
public final Certificate[] getCertificateChain(String alias)throws KeyStoreException
返回与给定别名关联的证书链。必须已经通过调用
setKeyEntry
,或者以PrivateKeyEntry
为参数的setEntry
关联证书链与别名。参数:
alias
- 别名返回:
证书链(按用户证书在前,根证书授权在后的顺序);如果给定别名不存在或不包含证书链,则返回 null
抛出:
KeyStoreException
- 如果 keystore 尚未被初始化(加载)。
getCertificate
public final Certificate getCertificate(String alias)throws KeyStoreException
返回与给定别名关联的证书。
如果给定的别名标识通过调用
setCertificateEntry
创建的条目,或者通过调用以TrustedCertificateEntry
为参数的setEntry
创建的条目,则返回包含在该条目中的可信证书。如果给定的别名标识通过调用
setKeyEntry
创建的条目,或者通过调用以PrivateKeyEntry
为参数的setEntry
创建的条目,则返回该条目中证书链的第一个元素。参数:
alias
- 别名返回:
证书;如果给定别名不存在或不包含证书,则返回 null。
抛出:
KeyStoreException
- 如果 keystore 尚未被初始化(加载)。
getCreationDate
public final Date getCreationDate(String alias)throws KeyStoreException
返回给定别名标识的条目的创建日期。
参数:
alias
- 别名返回:
此条目的创建日期;如果给定的别名不存在,则返回 null
抛出:
KeyStoreException
- 如果 keystore 尚未被初始化(加载)。
setKeyEntry
public final void setKeyEntry(String alias,Key key,char[] password,Certificate[] chain)throws KeyStoreException
将给定的密钥分配给给定的别名,并用给定密码保护它。
如果给定密钥的类型为
java.security.PrivateKey
,则它必须附带证明相应公钥的证书链。如果给定别名已经存在,则与别名关联的 keystore 信息将被给定密钥(还可能包括证书链)重写。
参数:
alias
- 别名key
- 要与别名关联的密钥password
- 保护密钥的密码chain
- 相应公钥的证书链(只在给定密钥的类型为java.security.PrivateKey
时需要)。抛出:
KeyStoreException
- 如果 keystore 尚未被初始化(加载)、无法保护给定的密钥,或者此操作由于某些其他原因而失败
setKeyEntry
public final void setKeyEntry(String alias,byte[] key,Certificate[] chain)throws KeyStoreException
将给定密钥(已经被保护)分配给给定别名。
如果受保护密钥的类型为
java.security.PrivateKey
,则它必须附带证明相应公钥的证书链。如果底层 keystore 实现的类型为jks
,则必须根据 PKCS #8 标准中的定义将key
编码为EncryptedPrivateKeyInfo
。如果给定别名已经存在,则与别名关联的 keystore 信息将被给定密钥(还可能包括证书链)重写。
参数:
alias
- 别名key
- 要与别名关联的密钥(以受保护格式)chain
- 相应公钥的证书链(只在受保护密钥的类型为java.security.PrivateKey
时有用)。抛出:
KeyStoreException
- 如果 keystore 尚未被初始化(加载),或者此操作由于某些其他原因而失败。
setCertificateEntry
public final void setCertificateEntry(String alias,Certificate cert)throws KeyStoreException
将给定可信证书分配给给定别名。
如果给定别名标识通过调用
setCertificateEntry
创建的现有条目,或者通过调用以TrustedCertificateEntry
为参数的setEntry
创建的现有条目,则现有条目中的可信证书将被给定证书重写。参数:
alias
- 别名cert
- 证书抛出:
KeyStoreException
- 如果 keystore 尚未被初始化,或者给定别名已存在但不标识包含可信证书的条目,或者此操作由于其他某些原因失败。
deleteEntry
public final void deleteEntry(String alias)throws KeyStoreException
删除此 keystore 中给定别名标识的条目。
参数:
alias
- 别名抛出:
KeyStoreException
- 如果 keystore 尚未被初始化,或者条目不能被移除。
aliases
public final Enumeration<String> aliases()throws KeyStoreException
列出此 keystore 的所有别名。
返回:
别名的枚举
抛出:
KeyStoreException
- 如果 keystore 尚未被初始化(加载)。
containsAlias
public final boolean containsAlias(String alias)throws KeyStoreException
检查给定别名是否存在于此 keystore 中。
参数:
alias
- 别名返回:
如果别名存在,则返回 true;否则返回 false
抛出:
KeyStoreException
- 如果 keystore 尚未被初始化(加载)。
size
public final int size()throws KeyStoreException
获取此 keystore 中条目数。
返回:
此 keystore 中的条目数
抛出:
KeyStoreException
- 如果 keystore 尚未被初始化(加载)。
isKeyEntry
public final boolean isKeyEntry(String alias)throws KeyStoreException
如果给定别名标识的条目是通过调用
setKeyEntry
或者以PrivateKeyEntry
或SecretKeyEntry
为参数的setEntry
创建的,则返回 true。参数:
alias
- 要检查的 keystore 条目的别名返回:
如果给定别名标识的条目是与密钥相关的条目,则返回 true;否则返回 false。
抛出:
KeyStoreException
- 如果 keystore 尚未被初始化(加载)。
isCertificateEntry
public final boolean isCertificateEntry(String alias)throws KeyStoreException
如果给定别名标识的条目是通过调用
setCertificateEntry
或者以TrustedCertificateEntry
为参数的setEntry
创建的,则返回 true。参数:
alias
- 要检查的 keystore 条目的别名返回:
如果给定别名标识的条目包含一个可信证书,则返回 true;否则返回 false。
抛出:
KeyStoreException
- 如果 keystore 尚未被初始化(加载)。
getCertificateAlias
public final String getCertificateAlias(Certificate cert)throws KeyStoreException
返回证书与给定证书匹配的第一个 keystore 条目的别名。
此方法尝试将给定证书与每一个 keystore 条目匹配。如果认为条目是通过调用
setCertificateEntry
或者以TrustedCertificateEntry
为参数的setEntry
创建的,则将给定证书与该条目的证书进行比较。如果认为条目是通过调用
setKeyEntry
或者以PrivateKeyEntry
为参数的setEntry
创建的,则将给定证书与该条目证书链的第一个元素进行比较。参数:
cert
- 要匹配的证书返回:
带有匹配证书的第一个条目的别名;如果此 keystore 中不存在这种条目,则返回 null。
抛出:
KeyStoreException
- 如果 keystore 尚未被初始化(加载)。
store
public final void store(OutputStream stream,char[] password)throws KeyStoreException,IOException,NoSuchAlgorithmException,CertificateException
将此 keystore 存储到给定输出流,并用给定密码保护其完整性。
参数:
stream
- 要写入此 keystore 的输出流。password
- 生成 keystore 完整性检验的密码抛出:
KeyStoreException
- 如果 keystore 尚未被初始化(加载)。IOException
- 如果存在数据 I/O 问题NoSuchAlgorithmException
- 如果不存在恰当的数据完整性算法CertificateException
- 如果 keystore 数据中包含无法存储的证书
store
public final void store(KeyStore.LoadStoreParameter param)throws KeyStoreException,IOException,NoSuchAlgorithmException,CertificateException
使用给定
LoadStoreParameter
存储此 keystore。参数:
param
- 指定如何存储 keystore 的LoadStoreParameter
,该参数可以为null
抛出:
IllegalArgumentException
- 如果无法识别给定的LoadStoreParameter
输入KeyStoreException
- 如果 keystore 尚未被初始化(加载)IOException
- 如果存在数据 I/O 问题NoSuchAlgorithmException
- 如果不存在恰当的数据完整性算法CertificateException
- 如果 keystore 数据中包含无法存储的证书从以下版本开始:
1.5
load
public final void load(InputStream stream,char[] password)throws IOException,NoSuchAlgorithmException,CertificateException
从给定输入流中加载此 KeyStore。
可以给定一个密码来解锁 keystore(例如,驻留在硬件标记设备上的 keystore)或检验 keystore 数据的完整性。如果没有指定用于完整性检验的密码,则不会执行完整性检验。
如果要创建空 keystore,或者不能从流中初始化 keystore,则传递
null
作为stream
的参数。注意,如果此 keystore 已经被加载,那么它将被重新初始化,并再次从给定输入流中加载。
参数:
stream
- 从中加载 keystore 的输入流,或者null
password
- 用来检验 keystore 完整性的密码,用来解锁 keystore 的密码,或者null
抛出:
IOException
- 如果存在 keystore 数据 I/O 问题或格式问题,如果需要密码却没有指定,或者指定的密码错误。如果错误是由于密码错误引起的,那么IOException
的 cause 应该是UnrecoverableKeyException
NoSuchAlgorithmException
- 如果不存在用来检验 keystore 完整性的算法CertificateException
- 如果不能加载 keystore 中的任何证书
load
public final void load(KeyStore.LoadStoreParameter param)throws IOException,NoSuchAlgorithmException,CertificateException
使用给定
LoadStoreParameter
加载此 keystore。注意,如果此 KeyStore 已经被加载,那么它将被重新初始化,并再次从给定参数加载。
参数:
param
- 指定如何加载 keystore 的LoadStoreParameter
,可以为null
抛出:
IllegalArgumentException
- 如果无法识别给定LoadStoreParameter
输入IOException
- 如果存在 keystore 数据 I/O 问题或格式问题。如果错误是由于ProtectionParameter
不正确(如密码错误)引起的,那么IOException
的 cause 应该是UnrecoverableKeyException
NoSuchAlgorithmException
- 如果不存在用来检验 keystore 完整性的算法CertificateException
- 如果不能加载 keystore 中的任何证书从以下版本开始:
1.5
getEntry
public final KeyStore.Entry getEntry(String alias,KeyStore.ProtectionParameter protParam)throws NoSuchAlgorithmException,UnrecoverableEntryException,KeyStoreException
使用指定保护参数获取指定别名的 keystore
Entry
。参数:
alias
- 获取此别名的 keystoreEntry
protParam
- 用来保护Entry
的ProtectionParameter
,可以为null
返回:
指定别名的 keystore
Entry
;如果不存在这种条目,则返回null
抛出:
NullPointerException
- 如果alias
为null
NoSuchAlgorithmException
- 如果不存在用来恢复条目的算法UnrecoverableEntryException
- 如果指定的protParam
不足或无效UnrecoverableKeyException
- 如果该条目是PrivateKeyEntry
或SecretKeyEntry
,并且指定的protParam
不包含恢复密钥所需的信息(如密码错误)KeyStoreException
- 如果 keystore 尚未被初始化(加载)从以下版本开始:
1.5
另请参见:
setEntry(String, KeyStore.Entry, KeyStore.ProtectionParameter)
setEntry
public final void setEntry(String alias,KeyStore.Entry entry,KeyStore.ProtectionParameter protParam)throws KeyStoreException
用指定别名保存 keystore
Entry
。保护参数用来保护Entry
。如果指定别名的条目已经存在,它将被重写。
参数:
alias
- 以此别名保存 keystoreEntry
entry
- 要保存的Entry
protParam
- 用来保护Entry
的ProtectionParameter
,可以为null
抛出:
NullPointerException
- 如果alias
或entry
为null
KeyStoreException
- 如果 keystore 尚未被初始化(加载),或者此操作由于其他原因失败从以下版本开始:
1.5
另请参见:
getEntry(String, KeyStore.ProtectionParameter)
entryInstanceOf
public final boolean entryInstanceOf(String alias,Class<? extends KeyStore.Entry> entryClass)throws KeyStoreException
确定指定
alias
的 keystoreEntry
是否是指定entryClass
的实例或子类。参数:
alias
- 别名entryClass
- 条目的类返回:
true 如果指定
alias
的 keystoreEntry
是指定entryClass
的实例或子类,则返回 true;否则返回 false。抛出:
NullPointerException
- 如果alias
或entryClass
为null
KeyStoreException
- 如果 keystore 尚未被初始化(加载)从以下版本开始:
1.5
转载自:http://www.apihome.cn/api/java/KeyStore.html
转载于:https://blog.51cto.com/1306733/1741063
KeyStore(示例,出错代码)相关推荐
- oracle出错如何备份数据,Oracle数据库备份失败, 出错代码:0xe0001402
Oracle数据库备份失败, 出错代码:0xe0001402文章:TECH117143|创建日期: 2009-01-31|更新日期: 2009-01-24| 文章类型Technical Solutio ...
- python字典示例简单代码_python学习笔记:字典的使用示例详解
经典字典使用函数 dict:通过其他映射(比如其他字典)或者(键,值)这样的序列对建立字典.当然dict成为函数不是十分确切,它本质是一种类型.如同list. 代码如下: items=[('name' ...
- Dell服务器出错代码和含义
Dell服务器出错代码和含义 解决 LCD 状态信息所述的问题 状态 LCD 上仅显示一则信息时,请在表中查找该代码并执行建议的更正措施.在这种情况下,LCD 上的代码指出的一般是十分明确而又容易更正 ...
- 【性能测试】获取性能系统指标之示例Python代码
#!/usr/bin/env python #-*- coding: utf-8 -*- import sys import datetime import time import psutil fr ...
- 【我的Android进阶之旅】如何在Android Studio开发NDK的时候,通过addr2line或者ndk-stack来定位出错代码的位置
文章目录 一.错误描述 1.1 写一段有错误代码 1.2 运行程序,查看错误日志 二.如何分析错误? 2.1 分析错误 2.2 异常时 信号 和 PC寄存器值 2.2.1 信号 2.2.2 PC寄存器 ...
- 发送邮件常见出错代码
发送邮件常见出错代码[转贴] 按照下列"Q"代表问题,"A"代表解答. Q:the server says:550 relaying mail to < ...
- 2016更改计算机名蓝屏,蓝屏故障:[16]0x00000019 蓝屏出错代码的解决方法
蓝屏一般都有停机码,如果底部还有出错的文件名,那么出错的范围就可以进一步缩小.同时还要关注蓝屏前做了什么?这样判断就会更靠谱些. 工具/原料 手提电脑.台式电脑.蓝屏代码查询器.Windows操作系统 ...
- 微信小程序官方示例 Demo 代码
以前只知道小程序有一个UI组件库, 不知道小程序还有一个官方示例Demo,今天用了一下大大的提高了我的编程速度,界面截图如下: 具体的你们自己打开吧,我给你们整好了拦截,微信小程序官方示例Demo代码 ...
- 皮肤检测算法三种,示例与代码
今天是地球日,就选了张相关主题的图像做测试 第一种:RGB color space 第二种:RG color space 第三种:Ycrcb之cr分量+otsu阈值化 还有别的一些模型,效果不太好就不 ...
- 问题-[Delphi]通过Map文件查找内存地址出错代码所在行
一 什么是MAP文件 什么是 MAP 文件?简单地讲, MAP 文件是程序的全局符号.源文件和代码行号信息的唯一的文本表示方法,它可以在任何地方.任何时候使用,不需要有额外的程序进行支持 ...
最新文章
- Android 通过Intent调用系统功能和Action动作和服务广播【大全】
- delete from t引发的血案
- POJ2570 二进制,位运算,Floyd
- 怎样删除word里的形状
- nginx学习笔记(8)虚拟主机名---转载
- VC/MFC Combo Box控件的用法
- P3157 [CQOI2011]动态逆序对 (CDQ解决三维偏序问题)
- CAS的ABA问题及解决方案
- utf—8在苹果手机上乱码_Xcode下的中文乱码问题
- linux操作实例,linux下的一些文档操作实例 | Soo Smart!
- 常见的软件生命周期模型
- 华硕主板固态硬盘不识别_华硕主板固态硬盘识别不出来怎么办
- 快速了解Spyder
- 运营进阶:产品运营画布九要素
- 睢阳区中小学计算机提升培训,商丘市中小学电脑制作活动培训顺利举行
- 查找二维数组中的非零元素
- python简历项目经验在哪里找_Linux运维工程师简历项目经验
- 机器学习基石-05-3-Effective Number of Hypotheses
- 在线下载离线地图瓦片 (支持百度、高德和谷歌地图)
- 微信发单机器人_微信多客服系统SDK通信接口