XCode import public key file generated with Java Security

**I have a java generator public key as this:
**
final KeyPairGenerator keyGen = KeyPairGenerator.getInstance(“RSA”);
keyGen.initialize(1024);
final KeyPair key = keyGen.generateKeyPair();
PublicKey pubkey = key.getPublic();
byte[] key = pubkey .getEncoded();
FileOutputStream keyfos = new FileOutputStream(“publicKey.der”);
keyfos.write(key);
keyfos.close();

**And on another hand, i have xcode,that use this publickey.der to encrypt data:
**
NSString *publicKeyPath = [[NSBundle mainBundle] pathForResource:@“public_key”
ofType:@“der”];
if (publicKeyPath == nil) {
NSLog(@“Can not find public_key.der”);
return nil;
}
NSDate *publicKeyFileContent = [NSData dataWithContentsOfFile:publicKeyPath];
if (publicKeyFileContent == nil) {
NSLog(@“Can not read from public_key.der”);
return nil;
}
certificate = SecCertificateCreateWithData(kCFAllocatorDefault, ( __bridge CFDataRef)publicKeyFileContent);
if (certificate == nil) {
NSLog(@“Can not read certificate from public_key.der”);
return nil;
}
policy = SecPolicyCreateBasicX509();
OSStatus returnCode = SecTrustCreateWithCertificates(certificate, policy, &trust);
if (returnCode != 0) {
NSLog(@“SecTrustCreateWithCertificates fail. Error Code: %ld”, returnCode);
return nil;

}
SecTrustResultType trustResultType;
returnCode = SecTrustEvaluate(trust, &trustResultType);
if (returnCode != 0) {
NSLog(@“SecTrustEvaluate fail. Error Code: %ld”, returnCode);
return nil;
}
publicKey = SecTrustCopyPublicKey(trust);
if (publicKey == nil) {
NSLog(@“SecTrustCopyPublicKey fail”);
return nil;
}
**but said me that Can not read certificate from public_key.der.

Well, if i use a openssl public_key it works. Why? Which is the difference openssl keypairgenerator between.

Thanks.**